Forenindex » Programmierung/Entwicklung » PHP und MySQL » Formularspam

Formularspam

mbaer
Beiträge gesamt: 28

18. Okt 2006, 17:54
Bewertung:

gelesen: 985

Beitrag als Lesezeichen
Hallo Zusammen
Ich bin am überarbeiten meines Mail-Formulares und habe einige wichtige Inputs im HDS gefunden.

Könnt ihr mir sagen, ob ich das mit dem entfernen der Zeilenumbrüche in Subject, From, To richtig verstanden/umgesetzt habe? Hier der Code-Ausschnitt (nach der Prüfung der Eingaben in die Felder):

$recipient = 's/[^\r\n]//g';
$subject = 's/[^\r\n]//g';
$email = 's/[^\r\n]//g';
$header = 's/[^\r\n]//g';

if(isset($error_msg)){
//Eines der Felder wurde nicht korrekt ausgefüllt
echo "Ihre Anfrage konnte aus folgenden Gründen leider nicht bearbeitet werden:<br><br>";
echo $error_msg;
echo "<br>Bitte klicken Sie auf <a href=javascript:history.back(1)>zur&uuml;ck</a> und f&uuml;llen Sie alle Felder aus.";
}else{
//Alle Felder ausgefüllt - eMail generieren


$recipient="einname'at'example.com";
$subject="$subject";
$header="From: " . $email . "\r\nContent-Type: text/plain; charset=ISO-8859-1\r\nContent-Transfer-Encoding: 8Bit";
$mail_body ="Das Kontakt-Formular wurde am " . date("d.m.Y") . " um " . date("H:i") . "h ausgeführt.\n";
$mail_body.="Folgende Angaben wurden eingetragen:\n\n";

Vielen Dank, Michael

Formularspam

mbaer
Beiträge gesamt: 28

18. Okt 2006, 18:28
Bewertung:

gelesen: 981

Beitrag als Lesezeichen
Hallo Zusammen

Ich nochmals, denke, das entfernen der zeilenumbrüche müsste schon eher in dieser Art (string) gelöst werden, hab das vorhin vergessen, einzugeben:

$recipient = preg_replace('s/[^\r\n]//g', "",
$recipient );

sonst passiert ja nix, oder.

Gruss, Michael

Formularspam

oesi50
  
Beiträge gesamt: 2315

18. Okt 2006, 19:39
Bewertung:

gelesen: 975

Beitrag als Lesezeichen
so geht's mit PHP:

Code
$recipient = preg_replace('/[\r\n]/', ' ', $recipient); 



Grüße Oesi
Ich weiß, dass ich nicht weiß... (Sokrates)