Formmailer erweitern durch Auswahl

Hallo Ihr alle…

folgendes ich habe ein Formmailer der ganz gut funktioniert - also so wie er auch soll. Nun ist es so dass der Formmailer nur für ein empfänger gedacht ist und nicht für mehrere. Der Jenige der eine Mail schreiben will über diesen Formmailer, soll die Möglichkeit erhalten über ein Drap&Drop Feld oder ähnliches den Empfänger auswählen zu können. Wie realisiere ich dies?

Unten ist der PHP-Code vom aktuellen Stand des Formmailers. Ich sage auch hiermit schon mal DANKE.

<?php // ***Einstellungen***
$mail\_to ='[[email protected]](mailto:[email protected])'; // Mailadresse (Empfängeradresse) // ############################################################################# $from\_name=GetParam('fromname'); $from\_mail=strtolower(GetParam('frommail')); $mail\_subject=GetParam('mailsubject'); $mail\_text=GetParam('mailtext'); $send=GetParam('s'); $err\_text=''; if(trim($from\_name)=='') $err\_text.='Bitte geben Sie Ihren Namen an. '; if(trim($from\_mail)=='') $err\_text.='Bitte geben Sie Ihre E-Mail-Adresse an. '; else if(!preg\_match('/^[\_a-z0-9-]+(\.[\_a-z0-9-]+)\*@[a-z0-9-]+(\.[a-z0-9-]+)\*(\.[a-z]{2,6})$/i',$from\_mail)) $err\_text.='Bitte geben Sie eine gültige E-Mail-Adresse an. '; if(trim($mail\_subject)=='') $err\_text.='Bitte geben Sie einen Betreff ein. '; if(trim($mail\_text)=='') $err\_text.='Bitte geben Sie einen Nachrichtentext ein. '; // \*\*\* Zu langen Text abschneiden \*\*\* if(strlen($mail\_text)\>4500) { $mail\_text=substr($mail\_text,0,4500).'... (Text wurde gekürzt!)'; } $from\_name=str\_replace(chr(34),"''",$from\_name); $mail\_subject=str\_replace(chr(34),"''",$mail\_subject); $from\_name=stripslashes($from\_name); $from\_mail=stripslashes($from\_mail); $mail\_subject=stripslashes($mail\_subject); $mail\_text=stripslashes($mail\_text); if (($send == '1') && ($err\_text != '')) { echo ' Fehler: '; echo $err\_text.' '; } if (($send != '1') || ($err\_text != '')) { ?\> Ihr Name: Ihre E-Mail-Adresse: Betreff: Text: (max. 4.500 Zeichen) =$mail\_text?\> <?php } else {
$header="From: $from\_name \n"; $header.="Reply-To: $from\_mail\n"; $header.="X-Mailer: PHP-ContactForm-Script\n"; $header.="Content-type: text/plain; charset=UTF-8\n"; $mail\_date=gmdate('D, d M Y H:i:s').' +0000'; $send=0; if(@mail($mail\_to,$mail\_subject,$mail\_text,$header)) { echo " Die Nachricht wurde erfolgreich abgesendet. "; echo " [Zurück zum Formular](%255C%2522%2522.GetParam('PHP_SELF','S').%2522?from_name=%2524from_name&from_mail=%2524from_mail%255C%2522) "; }else{ echo " Beim Versenden der Nachricht ist ein Fehler aufgetreten! "; echo " [Zurück zum Formular](%255C%2522%2522.GetParam('PHP_SELF','S').%2522?from_name=%2524from_name&from_mail=%2524from_mail&mail_subject=%2524mail_subject&mail_text=%2522;) "; } } function GetParam($ParamName, $Method = 'P', $DefaultValue = '') { if ($Method == 'P') { if (isset($\_POST[$ParamName])) return $\_POST[$ParamName]; else return $DefaultValue; } else if ($Method == 'G') { if (isset($\_GET[$ParamName])) return $\_GET[$ParamName]; else return $DefaultValue; } else if ($Method == 'S') { if (isset($\_SERVER[$ParamName])) return $\_SERVER[$ParamName]; else return $DefaultValue; } } ?\>

Hi,

folgendes ich habe ein Formmailer der ganz gut funktioniert -

Du solltest Dich freuen, dass noch kein Massenspamversender Dein Script entdeckt hat und Dein Provider die Seite dann nicht gesperrt hat oder Du hohe Schadenersatzforderungen erhalten hast.
Dieses Script kann als Spamschleuder missbraucht werden, wofür Du die Verantwortung und ggf. Kosten trägst. Du solltest es umgehend löschen!

Zur Erklärung: ungeprüfte Usereingaben werden über $from_name und $mail_subject in den mail-header gesetzt und können so manipuliert werden, dass über dieses Script beliebige Inhalte an beliebige Empfänger versandt werden.

Ich kenne persönlich einen Fall, wo die betroffene Seite vom Provider zum Glück rechtzeitig gesperrt wurde, aber nicht jeder Provider schafft das und wenn der Mailserver erst mal auf einer Blacklist landet und Mails der zig Mitbenutzer deshalb nicht zugestellt werden, kann es echt teuer für Dich werden.

Gruß
Ingo

Ja, dass ist mir bekannt, dass so was geht. Danke trotzdem für den Hinweis. Allerdings wurde dieses Script von mehreren Webhoster und Webdesinger überprüft und für sicher empfunden!?!?

Aber wie funktioniert das jetzt mit der Auswahlliste?

Hi,

Allerdings wurde dieses Script von mehreren
Webhoster und Webdesinger überprüft und für sicher
empfunden!?!?

dann hatten die unzureichende Kenntnisse.
Allerdings kannst Du diese im Missbrauchsfall nicht haftbar machen - außer Du hast eine gerichtlich verwertbare Unbedenklichkeitsbescheinigung des Providers, der diese Seite für Dich ausliefert.

Aber wie funktioniert das jetzt mit der Auswahlliste?

Anstatt zu fragen, wie Du das Script vor Missbrauch schützen kannst oder wo Du ein sicheres bekommst, fragst Du danach, wie Du es noch unsicherer machen kannst???
Das klingt in etwa so, als würde ein Jugendlicher fragen: „Die Bremsen meines Mofas sind zwar kaputt, aber wie kann ich es schneller machen?“ - um damit dann die Wahrscheinlichkeit einer Kontrolle zu erhöhen.

Gruß
Ingo

Das mit dem sicher machen ist mir schon klar. Habe ich aber in der zwischen Zeit schon gemacht mit einen „Captcha-Clock“. - Wenn Sie das meinen.

Moin moin ,

der zwischen Zeit schon gemacht mit einen „Captcha-Clock“. -

gegen einfache robots ganz gut .

Wenn Sie das meinen.

gegen einen massenspam versuch aber ungeeignet.

Auch chaptchas können von leuten validiert werden die garnicht wissen das sie das für dein chaptcha tun.
Das eigentliche problem ist und bleibt, wenn einer da chaptcha überwindet, dann kann er SPAM schicken , da dein Programm keine Datenkontrolle vornimmt. Es kontrolliert ja nur bis zum senden, aber es kontrolliert nicht was gesendet wird.

Also es bleibt die tatsache das jemand damit spam versendet.

Als Beispiel sei gesagt, das z.b. eine illegale download seite dein chaptcha nimmt um den download zu ermöglichen.
Mit diesem gelösten chaptcha kann er dann machen was er will . Der downloader auf der download seite weiss gar nicht das er dein chaptcha löst, er macht das ja nur um sein download starten zu können.

Also ein Chaptcha hilft nicht über fehlerhafte programmierung hinweg.

Genauso wenig wie eine Ampeln keine auto unfälle ausschliesst.

Moin,

ich nutze momentan das Captcha von „phpcaptcha.org“. Was soll ich sonst noch so machen, damit keine Massenmails verschickt werden?

Und wenn ich schon an dem Formmailer dran sitze: Wie bekomme ich es am besten hin, das der Besucher die Möglichkeit, den Empfänger z.B. per drag&drop-Feld auszuwählen?

Hi,

ich nutze momentan das Captcha von „phpcaptcha.org“. Was soll
ich sonst noch so machen, damit keine Massenmails verschickt
werden?

wie schon mehrfach gesagt wurde: setze keine ungeprüften Usereingaben in den mail-header.

Du kannst entweder diese Eingaben prüfen oder, wenn Du das nicht schaffst, alle Usereingaben lediglich in den Nachrichtentext setzen und die übrigen Felder selbst fest vorbelegen.

Gruß
Ingo