2010-12-30 17 views
1

Ich habe eine Webseite für einen Client, der eine Reihe von Textfeldern um spezifische Informationen wie den Namen einer Person, E-Mail-Adresse, Firma, etc. gefragt. mailen Sie die Informationen an meinen Kunden. Immer wenn ich den Button ausprobierte, schien es perfekt zu funktionieren, ich lud die Seite hoch und dachte, ich wäre fertig. Aber, bekam neulich mein Kunde diese E-Mail von der Website:PHP-E-Mail-Formular Senden von Zufallstext

Name: rfhopzdgmx rfhopzdgmx
Email: [email protected]
Firma: zUDXatAfoDvQrdH

Postanschrift:
AaSsXklqpHIsoCNcei
gXsimMPRBYZqq
vGLvZraZNdpOAV, ChsmuibE PoKzaSCubXPRI

Home Phone: CIJbIfjMfjIaTqAlD
Telefon Arbeit: JFLZBOvru
Handy: XlFJTTFGiTTiiFQfy
Fax: UEJMOVZodWPkKxew

Kommentare: sPvSCE hgetwoguderu, *
[url = http: //atyktjlxcznl.com/] atyktjlxcznl [/ url],
[ link = http: //nudvfcehwpyg.com/] nudvfcehwpyg [/ link], http://lvvwkbzbhnzp.com/

Hinweis: Die * Zeile HTML-Link-Code enthalten ist, ich weiß nur nicht, wie sie diese Seite, um es zu zeigen.

Hier ist der PHP-Code auf der Website für die E-Mail-Schaltfläche.

<?php 
//This Sends A Formatted Text Email Using The Text Boxes 
if ($_POST['submit']){ 
    //This Gets The Form Data 
    $fname = $_POST['fName']; 
    $lname = $_POST['lName']; 
    $email = $_POST['email']; 
    $company = $_POST['co']; 
    $address1 = $_POST['address1']; 
    $address2 = $_POST['address2']; 
    $city = $_POST['city']; 
    $state = $_POST['state']; 
    $zip = $_POST['zip']; 
    $homep = $_POST['homeP']; 
    $workp = $_POST['workP']; 
    $cellp = $_POST['cellP']; 
    $fax = $_POST['fax']; 
    $comments = $_POST['txaOutputField']; 

    //echo "<script language = 'javascript'>alert('YAY');</script>"; 

    if ($fname && $lname && $email && $comments){ //Check If Required Fields Are Filled 
     //This Sets The SMTP Configuration In php.ini 
     ini_set("SMTP", "smtp.2ndsourcewire.com"); 

     //This Replaces Any Blank Fields With 'None's 
     if ($company == ""){ 
      $company = "None"; 
     } 
     if ($address1 == ""){ 
      $address1 = "None"; 
     } 
     if ($city == ""){ 
      $city = "None"; 
     } 
     if ($state == ""){ 
      $state = "None"; 
     } 
     if ($zip == ""){ 
      $zip = "None"; 
     } 
     if ($homep == ""){ 
      $homep = "None"; 
     } 
     if ($workp == ""){ 
      $workp = "None"; 
     } 
     if ($cellp == ""){ 
      $cellp = "None"; 
     } 
     if ($fax == ""){ 
      $fax = "None"; 
     } 

     //This Creates The Variables Necessary For The Email 
     $to = "CLIENT EMAIL WHICH I'M CENSORING"; 
     $subject = "Email from 2ndSourceWire.com"; 
     $from = "From: [email protected]"; 
     $secondEmail = "MY EMAIL WHICH I'M ALSO CENSORING"; 

     if ($address2 == ""){ 
      $body = "Name: $fname $lname\n". 
        "Email: $email\n". 
        "Company: $company\n\n". 
        "Mailing Address:\n". 
        "$address1\n". 
        "$city, $state $zip\n\n". 
        "Home Phone: $homep\n". 
        "Work Phone: $workp\n". 
        "Cell Phone: $cellp\n". 
        "Fax: $fax\n\n". 
        "Comments:\n". 
        "$comments"; 
     } 
     else { 
      $body = "Name: $fname $lname\n". 
        "Email: $email\n". 
        "Company: $company\n\n". 
        "Mailing Address:\n". 
        "$address1\n". 
        "$address2\n". 
        "$city, $state $zip\n\n". 
        "Home Phone: $homep\n". 
        "Work Phone: $workp\n". 
        "Cell Phone: $cellp\n". 
        "Fax: $fax\n\n". 
        "Comments:\n". 
        "$comments"; 
     } 

     //This Sends The Email 
     mail($to, $subject, $body, $from); 
     mail($secondEmail, $subject, $body, $from); 

     echo "<script language = 'javascript'>alert('The email was sent successfully.');</script>"; 
    } 
    else { 
     //The Required Fields Are Not Filled 
     echo "<script language = 'javascript'>alert('Please fill your first name, last name, email address, and your comment or question.');</script>"; 
    } 
} 

?>

Ich bin ein wenig sprachlos darüber, wie dies geschehen ist, der Kunde ein paar E-Mails von diesen erwähnt, so dass ich glaube nicht, dass es eine zufällige Panne ist. Außerdem wurde die E-Mail-Adresse wie eine E-Mail-Adresse formatiert, sodass jemand oder ein Programm die Beschriftungen neben den einzelnen Textfeldern interpretierte. Ich habe auch bemerkt, dass die eingegebenen Vor- und Nachnamen dasselbe Wort sind, obwohl sie in verschiedenen Textfeldern waren, ich denke an ein paar Spam-Programme, aber würden sie nicht versuchen, etwas zu werben und Geld zu verdienen, anstatt nur zu spucken aus zufälligem Text? Außerdem macht der Kommentar-Abschnitt für mich überhaupt keinen Sinn, die Links gehen nirgendwohin und sie sind alle perfekt formatiert, eine zufällige Person, die nur herumschwirrt, würde diese Tags nicht kennen, und ein Programmierer, der das macht, würde sich nicht darum kümmern, aber auch kein Programm.

Ich habe keine Ahnung, was das verursacht oder wie ich es beheben kann, ich zeichne hier eine leere Stelle. Hat jemand Ideen?

Antwort

9

Ein Spammer/Bot hat duff Daten in Ihre Seite eingegeben und Sie haben sie pflichtgemäß in Ihrer Anwendung gesendet.

Warum denken Sie, dass dies ein Mysterium ist?

+2

Ja. Spambot. Ich bekomme die ganze Zeit. Sie tun ein Google für 'nudvfcehwpyg' und sprengen jede Website, die ihre Eingabe in die Textareas als Kommentare etc. veröffentlicht. – ceejayoz

+1

+1 Offensichtlich, aber wahr. :-) –

+0

Ich dachte immer, sie würden versuchen, etwas mit Werbung oder etwas zu erreichen, anstatt nur zufälligen Text zu senden. Gibt es eine Möglichkeit, es irgendwie zu stoppen? Oder müssen wir nur mit den lästigen Bots leben? – Doug

1

fügen Sie ein CAPTCHA hinzu, um es zu stoppen. Wenn Sie nicht wissen, was Sie schreiben sollen, können Sie auch eine einfache Frage wie "Sind Sie ein menschliches Y/n?" reCAPTCHA

1

verwenden oder "2 + 2?" wird den bot stoppen, auch einige js verwenden, um einen versteckten Wert beim Senden zu setzen und nach dem auf dem Server zu überprüfen. einige Validierung auf $ E-Mail und $ Telefon wäre schön zu haben.

0

Anstatt Leute dazu zu bringen, CAPTCHAs zu lesen, möchte ich vier Textfelder in einer Reihe haben und den Benutzer bitten, zwei zufällige zu überprüfen (zB "Bitte das erste und dritte Kästchen ankreuzen") und sicherstellen, dass dies die sind nur zwei in der Validierung überprüft.