2010-12-30 3 views
1

Я сделал веб-страницу для клиента, который включал серию текстовых полей с запросом конкретной информации, такой как имя человека, адрес электронной почты, компания и т. Д. Наряду с кнопкой, отправьте мне информацию моему клиенту. Всякий раз, когда я тестировал кнопку, казалось, что она работает отлично, я загрузил страницу и подумал, что я закончил. Но на другой день мой клиент получил это письмо с сайта:PHP Форма электронной почты Отправка случайного текста

Имя: rfhopzdgmx rfhopzdgmx
Email: [email protected]
компании: zUDXatAfoDvQrdH

Почтовый адрес:
AaSsXklqpHIsoCNcei
gXsimMPRBYZqq
vGLvZraZNdpOAV, ChsmuibE PoKzaSCubXPRI

Домашний телефон: CIJbIfjMfjIaTqAlD
Рабочий телефон: JFLZBOvru
Сотовый телефон: XlFJTTFGiTTiiFQfy
Факс: UEJMOVZodWPkKxew

Комментарии: sPvSCE hgetwoguderu *
[URL = HTTP: //atyktjlxcznl.com/] atyktjlxcznl [/ URL],
[ link = http: //nudvfcehwpyg.com/] nudvfcehwpyg [/ link], http://lvvwkbzbhnzp.com/

Примечание: строка * содержит код ссылки HTML, я просто не знаю, как получить этот сайт, чтобы показать его.

Вот код PHP на сайте для кнопки электронной почты.

<?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>"; 
    } 
} 

?>

Я немного ошарашен о том, как это произошло, клиент упомянул пару электронных писем, поэтому я не думаю, что это случайный глюк. Кроме того, адрес электронной почты был отформатирован как адрес электронной почты, поэтому кто-то или какая-то программа интерпретировала метки рядом с каждым текстовым полем. Я также заметил, что первое и последнее имя введено одним и тем же словом, даже если они были в разных текстовых полях, я думаю о его программе спама, но не пытались ли они рекламировать что-то и зарабатывать деньги, а не просто извергать из случайного текста? Кроме того, раздел комментариев не имеет для меня никакого смысла, ссылки никуда не делись, и все они отлично отформатированы, случайный человек, просто зависающий, не будет знать эти теги, а программист, делающий это, не потрудился бы с этим, но также и программа.

Я понятия не имею, что вызвало это и как исправить, я рисую здесь пробел. У кого-нибудь есть идеи?

ответ

9

Спамер/бот ввел данные на вашем сайте, и вы добросовестно отправили его в своем приложении.

Почему, на ваш взгляд, это тайна?

+2

Да. Spambot. Я получаю их все время. Они сделают Google для «nudvfcehwpyg» и взорвут любой сайт, который завершит публикацию их вклада в текстовые поля как комментарии и т. Д. – ceejayoz

+1

+1 Очевидное, но все же верно. :-) –

+0

Я всегда думал, что они попытаются что-то сделать с рекламой или чем-то, а не просто отправить случайный текст. Есть ли способ остановить это как-то? Или нам просто нужно жить с раздражающими ботами? – Doug

1

Добавить CAPTCHA, чтобы остановить его. Если вы не хотите писать самостоятельно, вы можете использовать reCAPTCHA

1

Даже простой вопрос, как «вы, человек, я/н?»? или "2 + 2?" остановит бота, , также используя некоторые js, чтобы установить скрытое значение для отправки и проверить его на сервере. Некоторая валидация на $ email и $ phone будет приятной.

0

Вместо того чтобы заставить людей пытаться читать CAPTCHA, мне нравится иметь четыре текстовых поля подряд и попросить пользователя проверить два случайных (например, «Пожалуйста, проверьте первый и третий флажки») и убедитесь, что это в проверке проверяются только два.

Смежные вопросы