Защита от спама для любого сайта (JavaScript)

Cегодня мы поговорим про насущную проблему «СПАМ».  Способ решения данной проблемы позволит избавиться от спама на форме обратной связиспам на комментарии или же спам на заказы в интернет магазине.

Хотелось бы сразу отметить плюсы и минусы данного способа:

  1. Хорошо работает против ботов.
  2. Быстрая установка в форму отправки сообщений
  3. Минимум кода ( 3 строчки)
  4. Не требует особых знаний, за исключением расположения основных файлов.
  5. Минус: Пользователи у которых не стоит java не смогут пройти проверку и следовательно отправить сообщение.

В принципе все. Приступим к установке:

  1. Добавим дополнительное скрытое поле в вашу форму ( это форма комментария, форма обратной связи, форму заказа товара ) с именем name=»check» значение value=»» оставляем пустым. Пример:
				
					<input id="check" name="check" type="hidden" value="" />
				
			
  1. В той же форме но только в кнопке ( «отправить», «написать», «Оставить отзыв» или как она у вас называется) добавляем следующий код:
				
					<input type="submit" value="Оправить"
 onclick="document.getElementById('check').value = 'stopSpam';" />
				
			
  1. Далее идем в php скрипт, который выполняет проверку вашей формы и вносим в него следующий код:
				
					if ($_POST['check'] != 'stopSpam') exit('Spam decected');
				
			

Защита от спама — принцип действия

Принцип прост до не возможности как и сам код. Рассчитан он на то, что спам-боты не умеют выполнять программы на JavaScript. В то время когда обычный пользователь нажмет на кнопку «заказать» в наше скрытое поле, впишется слово «stopSpam», а в случае с роботом это поле останется пустым. Поясню данный момент, почему он останется пустым?. Робот заполняет все поля кроме нашего скрытого поля с идентификатором id=»check» и переменная «check» останется не заполненной, следовательно почта не будет отправлена. А при нажатии на кнопку пользователем выполнится наш JavaScript, который мы добавили в кнопку.

Cоветую использовать данный метод совместно с капчей, эффект будет лучше. Ну вот собственно и все. Если статья помогла вам, пишите комментарии, репостите и не забывайте сказать «Спасибо» в комментариях.

Если у кого-то возникают другие проблемы или же вопросы оставляйте их в комментариях, мы с радостью найдем решение вместе. Ждем ваших сообщений!

Свежие записи
Команда RD

Команда RD и RMDIR позволяют удалять как каталоги, так и

Web-Дизайн
help2site
Как пишутся скрипты на PHP

Для написания кода на PHP подходит любой текстовый редактор (например Notepad++). Оглавление Размещение PHP на HTML-странице Код скрипта PHP может размещаться непосредственно на HTML-странице. Чтобы

Linux
help2site
Перезапуск сервера Apache

Бывает что возникают ситуации при которых нужно перезагрузить Apache, при этом не обязательно перезагружать весь сервер целиком. Для того, чтобы перезагрузить сервера Apache нужно: Подключиться

Игры
help2site
Играть бесплатно в игры Gaminator

Сегодня игровые автоматы гаминатор уже успели зарекомендовать себя среди любителей азартных игр и онлайн развлечений. Известнейшая компания Новоматик производитель большинства увлекательных игр с потрясающей графикой,

Программы
help2site
Deploy NodeJS приложения на VestaCP

Настройка Nginx для deploy сайта на nodejs. Под катом: конфигурация nginx, pm2 как замена nodemon и forever.  Как всем известно NodeJs-приложение слушает определенный порт. Обычно

Программы
help2site
Lodash — функции будущего в JS уже сегодня

Каждый разработчик ценит свое время и всегда ищет способы избежать дублирования кода и написания одинаковых реализаций под различные проекты. Lodash — библиотека с огромным количеством

Web-Дизайн
help2site
Файл robots.txt., who you are?

Оглавление Файл robots.txt и его написание. Файл robots.txt необходим для любого вэб-ресурса, так как с его помощью осуществляется управление над всеми поисковыми системами (роботами), в чем,

Linux
help2site
Массовое заражение серверов Linux (CVE-2019-10149)

Exim (v4) — это агент пересылки почты. exim4-config предоставляет инфраструктуру конфигурации для служб exim4. Она была вынесена в отдельный пакет для упрощения замены конфигурационной схемы