Formailer kaputt.
vegoh
- php
0 vegoh0 Malcolm Beck´s
Hallo,
ich habe ein Problem mit unserem Formailer, mann kann alles ausfüllen etc und dann abschicken und bekommt die nachricht, dass alles verschickt seie, doch eine mail kommt leider nicht an.
ich weiß nicht woran es liegt, es war von heut auf morgen...
und welche berechtigungen müssen die dateien standardmäßig bekommen(hat mit dem problem denke ich nichts zu tun)
lg
und danke im voraus für hilfe
Hier kommt die datei 01kontakt.htm:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Wallwitzburg Dessau e. V. - Verein für Wiederaufbau und Nutzung der Wallwitzburg</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<link href="stlye.css" type="text/css" rel="stylesheet">
<style type="text/css">
</head>
<body>
<form action="012kontakt.php" method="post">
<div id="problem">
<table width="100%" border="0">
<tr>
<td colspan="3"> <b>Kontakt</b><br>
<br>
</bg>Hier können Sie uns eine Nachricht zukommen lassen. <br>
Wir freuen uns über jede Anregung oder Frage, sei es zu unserer Arbeit oder zur Internetseite. Ganz besonders freuen wir uns über Unterstützung. Scheuen Sie sich nicht uns zu schreiben. Wir beantworten Ihre Anfrage gerne!<br>
<br>
<p></p></td>
</tr>
<tr>
<td width="335"> Name:<br> <input type="Text" name="Name" size="32" maxlength>
<br> <br>
Ort:<br> <input type="Text" name="Ort" size="32" maxlength> </td>
<td colspan="2">E-Mail-Adresse:<br> <input type="text" name="MailFromAddress" size="31" maxlength> <br> <br>
Homepage: *<br> <input type="Text" name="Homepage" size="31" maxlength></td>
</tr>
<tr>
<td colspan="3"> Nachricht:<br> <textarea name="Nachricht" cols="70" rows="5" wrap="VIRTUAL"></textarea>
</td>
</tr>
<tr>
<td height="26"> <input type="Submit" name value="Senden"> <input type="reset" value="Löschen" name="B1">
</td>
<td width="94"><div align="right">*Optional</div></td>
<td width="647"> </td>
</tr>
</table>
<table><tr>
<td border="0" width="150px"><b>Postanschrift</b>
<br><br>
Kornhausstr.95 <br>
D-06846 Dessau <br>
Deutschland </td>
<td border="0" width="150px"><strong>Email</strong><br>
<br>
post<img src="bilder/layout/at.gif" alt="" width="12" height="12">wallwitzburg.de</td>
<td width="150px"><b>Telefon </b><br><br>
0049 (0) 340 8592637<br>
0049 (0) 179 8199909</td>
</tr></table>
</div>
</font>
</form>
</div>
</body>
</html>
und hier die datei 12kontakt.php
<?
$MailToAddress = "postätwegwegenspamfürselfhtmlwallwitzburg.de";
$MailSubject = "Kontaktformular auf www.wallwitzburg.de";
if (!$MailFromAddress) {
$MailFromAddress = "MailFromAddress";
}
$Header = "Folgende Daten wurden übermittelt:";
$Footer = "";
?>
<html>
<head><link href="stlye.css" type="text/css" rel="stylesheet"></head>
<b>Vielen Dank für ihre Kontaktaufnahme!</b><br> <br>Wir beantworten alle Nachrichten schnellstmöglich.<br><br>
<a href="011kontakt.htm">zurück</a>
<font color="#FFFFFF">
<?
if (!is_array($HTTP_POST_VARS))
return;
reset($HTTP_POST_VARS);
while(list($key, $val) = each($HTTP_POST_VARS)) {
$GLOBALS[$key] = $val;
$val=stripslashes($val);
echo "<b>$key</b> = $val<br>";
$Message .= "$key = $val\n";
}
if ($Header) {
$Message = $Header."\n\n".$Message;
}
if ($Footer) {
$Message .= "\n\n".$Footer;
}
mail( "$MailToAddress", "$MailSubject", "$Message", "From: $MailFromAddress");
?>
</font>
</body>
</html>
Es heißt natürlich FormMailer!
Sorry!
hi,
» <?
> if (!is_array($HTTP_POST_VARS))
Siehe hier.
Und, da du die möglichkeiten von short_open_tags nicht nutzt, deaktiviere sie und schreibe „<?php
“ statt „<?
“.
mfg
Hallo,
» <?
»» if (!is_array($HTTP_POST_VARS))
> Siehe [hier](http://forum.de.selfhtml.org/archiv/2006/10/t137910/#m895861).
guter Punkt, das fiel mir auch als erstes auf.
> Und, da du die möglichkeiten von [short_open_tags](http://de.php.net/ini.core) nicht nutzt, deaktiviere sie und schreibe „`<?php`{:.language-php}“ statt „`<?`{:.language-php}“.
Auch darauf hätte ich hingewiesen.
Und dann enthält der Quellcode noch so einiges, was zwar nicht direkt falsch, aber ungünstig bis unsinnig ist.
> $MailToAddress = "postätwegwegenspamfürselfhtmlwallwitzburg.de";
> $MailSubject = "Kontaktformular auf www.wallwitzburg.de";
> if (!$MailFromAddress) {
Steht das tatsächlich so drin? Du setzt erst eine Konstante für $MailToAddress ein, und prüfst dann, ob $MailToAddress auch existiert? ;-)
> while(list($key, $val) = each($HTTP\_POST\_VARS)) {
> $GLOBALS[$key] = $val;
Das ist ein Quatsch, der auch dadurch nicht sinnvoller wird, dass er tausendfach verwendet wird. Das Umkopieren der Eingangswerte ist einfach unnötig, eventuell sogar gefährlich, weil man den Variablen hinterher ihre Herkunft nicht mehr ansieht.
> $val=stripslashes($val);
Anstatt an den Symptomen rumzubasteln, sollte man lieber die Ursache bekämpfen und die Magic Quotes deaktivieren.
> mail( "$MailToAddress", "$MailSubject", "$Message", "From: $MailFromAddress");
Und warum hier noch dreimal einen String in einen String einbauen? Das ist auch sinnlos, irritiert höchstens beim Lesen.
So long,
Martin
--
Idealismus wächst mit der Entfernung zum Problem.
hi,
Und dann enthält der Quellcode noch so einiges, was zwar nicht direkt falsch, aber ungünstig bis unsinnig ist.
Ja, dass stimmt allerdings, nur konnte ich mir den rest nicht antun, war mir dann doch zu anstrengend ;)
Dafür gibt es aber jetzt die zuvor vergessenen Alternativen:
http://aktuell.de.selfhtml.org/artikel/php/form-mail/
http://www.1ngo.de/web/formmailer.html
mfg
Hallo Malcolm!
Hatte der Tom aus Annerswo (*g*) nicht gemeint, der wäre unsicher, und wollte er nicht den Artikel überarbeiten?
P.S.: Der Tom ist momentan Nomade, so ich ihn richtig verstanden habe, und sollte sich Tom aus Nirgendwo nennen ;)
Viele Grüße aus Frankfurt/Main,
Patrick
Hallo Patrick,
P.S.: Der Tom ist momentan Nomade, so ich ihn richtig verstanden habe
ich würde eher sagen, er ist sonst Nomade und macht gerade mal einen Trip in der Zivilisation. Denn Syburg gehört zu Dortmund, ist doch somit quasi am Puls der Welt!
und sollte sich Tom aus Nirgendwo nennen ;)
Ja: Tom aus Nirgendwo, derzeit jedoch Irgendwo. :-)
Schönen Abend noch,
Martin
AOP!
» http://aktuell.de.selfhtml.org/artikel/php/form-mail/
Hatte der Tom aus Annerswo (*g*) nicht gemeint, der wäre unsicher, und wollte er nicht den Artikel überarbeiten?
Ich glaube, er bezog sich auf das Upload-Formular, der Formmailer ansich ist soweit ich weiss recht sicher, nur bietet es keine Affenformalität.
Und bei dem Upload-Formular ging es auch mehr drum, dass man keine FLV- oder ähnliche Formate sicher hochladen kann, da es keine zuverlässige Mime-Type überprüfung für diese gibt.
P.S.: Der Tom ist momentan Nomade, so ich ihn richtig verstanden habe, und sollte sich Tom aus Nirgendwo nennen ;)
Syburg ist ja irgendwo, und von mir gar nicht mal so weit weg.
Aber gut, in Fachkreisen -- wenn wir über Syburg sprechen -- sprechen wir auch gut und gerne vom Arsch der Welt, aber dass ist eine andere Geschichte ;)
mfg
Hallo Malcolm!
Ich glaube, er bezog sich auf das Upload-Formular
Oh, kann sein - ist schon etwas länger her, dass Tom versprach, sich drum zu kümmern...
Syburg ist ja irgendwo, und von mir gar nicht mal so weit weg.
Aber gut, in Fachkreisen -- wenn wir über Syburg sprechen -- sprechen wir auch gut und gerne vom Arsch der Welt, aber dass ist eine andere Geschichte ;)
Wird woll so sein, denn ich habe noch nicht von einer Sie-Burg [1] gehört (das wäre mir nicht entgangen)... oder wird es Sü-Burg ausgesprochen ;)
[1] Rapunzelheim?
Viele Grüße aus Frankfurt/Main,
Patrick
AOP!
» Ich glaube, er bezog sich auf das Upload-Formular
Oh, kann sein - ist schon etwas länger her, dass Tom versprach, sich drum zu kümmern...
http://forum.de.selfhtml.org/archiv/2008/5/t170592/#m1116262
Wird woll so sein, denn ich habe noch nicht von einer Sie-Burg [1] gehört (das wäre mir nicht entgangen)... oder wird es Sü-Burg ausgesprochen ;)
[1] Rapunzelheim?
Diese Stadt würde mir zusagen[1].
mfg
[1] sehr[2] ;)
[2] es ist schon eine Last, ein Mann zu sein
Hallo Malcolm!
»» [1] Rapunzelheim?
Diese Stadt würde mir zusagen[1].
[1] sehr[2] ;)
Kannst Du gut klettern?
[2] es ist schon eine Last, ein Mann zu sein
Warum, hättest Du gerne lange blonde Haaren, um sie vom Turm zu werfen?
Viele Grüße aus Frankfurt/Main,
Patrick, mag keine haarige Angelegenheiten
AOP!
» »» [1] Rapunzelheim?
» Diese Stadt würde mir zusagen[1].
» [1] sehr[2] ;)Kannst Du gut klettern?
Wenn an der Spitze etwas nettes auf mich wartet ... ;)
» [2] es ist schon eine Last, ein Mann zu sein
Warum, hättest Du gerne lange blonde Haaren, um sie vom Turm zu werfen?
Ne, wenn dann dunkle bis Schwarze Haare, also etwas Temperament voller.
Aber streng genommen, nichts von beidem, am besten was einzelliges, da hat man nicht soviele Probleme im Leben ;)
mfg
hi $name,
[2] es ist schon eine Last, ein Mann zu sein
nichts was nicht mit einer heckenschere geändert werdeb könnte ;-)
gruss
shadow
hi,
» [2] es ist schon eine Last, ein Mann zu sein
nichts was nicht mit einer heckenschere geändert werdeb könnte ;-)
Nein Danke! Sowas in abgespeckter Form habe ich bereits im Alter von 10 hinter mich gebracht; einmal und nie wieder ;)
mfg
Hello Ihr Zwei,
das habe ich gelesen! :-)
Ich glaube, er bezog sich auf das Upload-Formular
Ja, in der Hauptsache. Das ist eine gefährliche Sicherheitslücke.
Syburg ist ja irgendwo, und von mir gar nicht mal so weit weg.
Aber gut, in Fachkreisen -- wenn wir über Syburg sprechen -- sprechen wir auch gut und gerne vom Arsch der Welt, aber dass ist eine andere Geschichte ;)Wird woll so sein, denn ich habe noch nicht von einer Sie-Burg [1] gehört (das wäre mir nicht entgangen)... oder wird es Sü-Burg ausgesprochen ;)
[1] Rapunzelheim?
"Rapunzelturm" würde es schon gut treffen. Mit Blick auf das Kraftwerk von Hagen.
http://selfhtml.bitworks.de/bilder/Rapunzelturm
Sieht so aus, dass meine nächste Nomadentour erst Ende April stattfindet. Da komme ich vielleicht tatsächlich noch dazu, mich weiter durch dieses mysitsche PHP-Ersatzscript für das Programm "file" von Linux zu kämpfen. Ich habe da je eines im Netz entdeckt, was schon einen guten Teil der Arbeit macht und auch schon ein paar Fehler beseitigt, soweit ich das ohne Doku überhaupt erkennen konnte. Es gibt zu dem Thema auch einen guten, aber ebenfalls unvollständigen Heise-Artikel.
Ich muss mich also auch nochmals durch die Doku von "file" kämpfen. Die ist aber auch nur sehr dürftig.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg
Hallo Tom!
Hello Ihr Zwei,
das habe ich gelesen! :-)
Darauf haben wir ja beide gepocht ;)
Viele Grüße aus Frankfurt/Main,
Patrick
ARE!
»» » http://aktuell.de.selfhtml.org/artikel/php/form-mail/
der Formmailer ansich ist soweit ich weiss recht sicher
Wo findet hier der Schutz gegen Header-Injektion statt, macht das get_magic_quotes_gpc()?
Viele Grüße aus Frankfurt/Main,
Patrick
echo $begrüßung;
» » » http://aktuell.de.selfhtml.org/artikel/php/form-mail/
Wo findet hier der Schutz gegen Header-Injektion statt,
In der dortigen Version gibt es keine Header-Injection-Probleme, weil alle Header-relevanten Werte fest im Code stehen.
macht das get_magic_quotes_gpc()?
Niemals nicht, Zeilenumbrüche gehören nicht zu den berücksichtigten Zeichen.
echo "$verabschiedung $name";
Hallo dedlfix!
»» » » » http://aktuell.de.selfhtml.org/artikel/php/form-mail/
»» Wo findet hier der Schutz gegen Header-Injektion statt,In der dortigen Version gibt es keine Header-Injection-Probleme, weil alle Header-relevanten Werte fest im Code stehen.
Ach ja, danke. Am Ende habe ich doch lieber Ingo Turskis Formmailer wg. der Affenformular-Funktionalität angepasst (die Ausgabe in der Mail bzw. Mailbody etwas anders formatiert).
»» macht das get_magic_quotes_gpc()?
Niemals nicht, Zeilenumbrüche gehören nicht zu den berücksichtigten Zeichen.
Wenn ich richtig verstanden habe, escaped die Funktion lediglich ", ' und ? Was ist »NULL«?
OT: Könntest Du mir wg. eines anderen Anliegen eine Mail schreiben? (Formular)
Viele Grüße aus Frankfurt/Main,
Patrick
echo $begrüßung;
Wenn ich richtig verstanden habe, escaped die Funktion [Magic Quotes] lediglich ", ' und ? Was ist »NULL«?
In dem Zusammenhang ist es das 0-Byte (x00). Damit werden unter C normalerweise Strings abgeschlossen. Man könnte so ein Statement vorzeitig beenden.
echo "$verabschiedung $name";