Защита формы обратной связи от спама на PHP и JavaScript

preview_player
Показать описание

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

Защита на самом деле очень проста. Необходимо в форму обратной связи добавить скрытое поле (input с типом hidden). написать небольшой скрипт на JS, буквально 3 строчки кода. Это функция, которая будет добавлять в value скрытого инпута какое-то значение, типа секретного ключа. И на PHP сделать проверку. Если значение этого скрытого поля не равно "secretkey", то форма отправлена не будет - return false;

#spamphp #спамнасайте #борьбасоспамом #спам #защитаотспама
Рекомендации по теме
Комментарии
Автор

Можно использовать интерфейс windows и научить бота нажимать кнопку, есть метод с сохранением через localstorage времени спама, плюс ограничить минимальное количество секунд при повтором нажатии кнопки, или использовать бд, где будут сохраняться все уникальные сессии и проверять на отправку в формы, в любом случае, кто хочет взломать, взломает - дело времени, спасибо вам за данный способ

kxueirx
Автор

Спасибо большой, как раз столкнулся с задачей подобного рода! Сейчас попробую реализовать)

ugvibvf
Автор

Как можно с Вами связаться по поводу реализации данной защиты на моём сайте? Писал в разделе услуги в Ваш блог, ответа не получил

artemguskov
Автор

А что мешает спамеру скопировать значение ключа из JS кода и отправлять post запросы с этим ключём ?)

ciHDyWxODcjgev
Автор

Скажите а если форма обратной связи отправляется через action="" и написана в html файле, и при отправке сообщения идет переход на php страницу, как ставить капчу в данном случае.??? Такой метод как у вас в видео подойдет? Ответьте пожалуйста, очень вас просим. Видим что видео написано было год назад. Спасибо.

_DGS_
Автор

Как сделать заполнения если на стр. несколько форм?

cxhdtsr
Автор

А прописать для бота функцию нахождения кнопки и имитации кликанья на нее и весь твой код становится не нужным

pustzev
Автор

ахаха бот не сможет нажать на кнопку отправить. очень смешно )))

visowhh