[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Приходят пустые запросы с формы
Pepelr
Добрый день.
Подскажите плиз новичку.
Каждые две минуты, с сайта, на почту приходят пустые заявки (даже без названия полей формы)
В логах посмотрел, что заходят по ссылке **//site.com/process-form.php?first_name=5977f9d7c5fdb&last_name=lol&phone=&email=tal.almany%40gmail.com&
файл формы process-form.php
$to = "info@site.com";
$subject = "Cайт заявка";
$newsletter = array(true => 'Yes!', 0 => 'No please');
/* $message = "Ticket type: " . $_POST['ticket'];*/
$message .= "<br/>Имя: " . $_POST['first_name'];
$message .= "<br/>Фамилия: " . $_POST['last_name'];
$message .= "<br>Телефон: " . $_POST['phone'];
$message .= "<br>Email: " . $_POST['email'];
/*$message .= "<br>Newsletter subscription: " . $newsletter[$_POST['newsletter']];*/

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=utf-8" . "\r\n";
$headers .= "From: " . $_POST['fullname'] . " <" . $_POST['email'] . ">". "\r\n";

if( mail($to, $subject, $message, $headers) ) {
echo "ok";
} else {
echo "error";
}


Подскажите, как исправить, пжл!
walerus
Поставить проверку на пустые поля, если есть пустые - ничего не отправлять, а сообщать ошибку заполнения формы...
killer8080
Цитата (Pepelr @ 26.07.2017 - 12:49)
Каждые две минуты, с сайта, на почту приходят пустые заявки (даже без названия полей формы)

боты спамят
Цитата (Pepelr @ 26.07.2017 - 12:49)
Подскажите, как исправить, пжл!

ну например капчу поставить, или простейшие трюки с JS против тупых ботов достаточно эффективны
Pepelr
Можете поконкретнее, пжл, ниразу этим не занимался.. новичок новичок прям...((
killer8080
Цитата (Pepelr @ 26.07.2017 - 12:49)
$headers .= "From: " . $_POST['fullname'] . " <" . $_POST['email'] . ">". "\r\n";

да ты просто находка для спамеров smile.gif
Правда публичные почтовики такой откровенный спам не пропустят, а вот загнать ip твоего сервера в анти спам базы, это запросто.
(думаю он уже там ph34r.gif )
Pepelr
Что находка, понял, раз обращаюсь за помощью)
killer8080, подскажи что конкретно мне добавить в этот файл....
killer8080
Pepelr
ну вопервых
Цитата (Pepelr @ 26.07.2017 - 12:49)
$headers .= "From: " . $_POST['fullname'] . " <" . $_POST['email'] . ">". "\r\n";

в обратном адресе указывается адрес отправителя, отправителем письма является твой сервер, а не тот кто заполнил форму на сайте. Все приличные почтовики такое письмо сразу кинут в спам.
По защите самое простое решение на клиенте в форму добавлять секретный параметр через js, а в обработчике проверять его соответственно. Ну и валидация данных должна быть перед отправкой, как выше уже сказали, это само собой. Для лучшей защиты - только капча.



Спустя 2 минуты, 5 секунд killer8080 написал(а):
Цитата (Pepelr @ 26.07.2017 - 12:49)
В логах посмотрел, что заходят по ссылке **//site.com/process-form.php?first_name=5977f9d7c5fdb&last_name=lol&phone=&email=tal.almany%40gmail.com&

Цитата (Pepelr @ 26.07.2017 - 12:49)
$message .= "<br/>Имя: " . $_POST['first_name'];
$message .= "<br/>Фамилия: " . $_POST['last_name'];
$message .= "<br>Телефон: " . $_POST['phone'];
$message .= "<br>Email: " . $_POST['email'];

как то сразу не заметил, у тебя же данные передаются в GET, а ожидается POST biggrin.gif
Pepelr
да уж... знать бы еще основы php... и уметь добавлять параметр через js, а в обработчике его проверять... то конечно была бы лучшая защита.
Спасибо и на этом!
VeRTak
Цитата (Pepelr @ 26.07.2017 - 13:43)
да уж... знать бы еще основы php... и уметь добавлять параметр через js, а в обработчике его проверять... то конечно была бы лучшая защита.


Научиться никогда не поздно wink.gif
Pepelr
Согласен. Стока постов, и никто не может конкретно сказать, вот здесь "вот так" напиши... smile.gif
VeRTak
Цитата (Pepelr @ 26.07.2017 - 14:11)
Стока постов, и никто не может конкретно сказать, вот здесь "вот так" напиши...


А с чего вы решили что кто-то должен это писать? Не работает скрипт, учите основы, приходите говорите что не понятно, всегда помогут, если у человека есть желание в этом разбираться. Если же нет, welcom в другой раздел где за определенную копейку, починят ваш скрипт. wink.gif
Pepelr
Конечно по себе людей не судят, но я бы помог...
Все равно, спасибо за ответы.
p.s. а где такой раздельчик?)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.