
Защита от роботов в регистрации на WP сайте. Как запретить регистрацию спам-ботов в WordPress
- Stats: 5931 2
- Author: admin
- Category: CMS WordPress
- Comments: Комментариев нет

В данной статье мы опишем способ как защитить свой сайт от регистрации спам-роботов, данный способ мы используем и на данном интернет портале.
Надеемся данный способ будет полезный. Если вы знаете другие способы защиты — описывайте в комментариях мы обязательно их опубликуем.
Как IT портал установил recaptcha от Google
Ставит капчу на вход в систему, чтобы хакеры не смогли получить доступ к вашему сайту. Он помогает защитить сайт, а так же определить IP-адрес после определенного числа неудачных попыток входа.
- Установили плагин: Google Captcha (reCAPTCHA) by BestWebSoft
После установки плагина перешли на страницу: https://www.google.com/recaptcha/admin#site/337840938?setup
Там зарегистрировали сайт и получили ключи:
Вносим данные на страницу плагина и отмечаем где мы хотим увидеть защиту от спама:
В итоге теперь можно Зарегистрироваться или Войти в сайт только пройдя защиту от Captcha
Как защититься от спам-ботов (не проверенный)
При администрировании и разработке сайтов веб-мастера часто сталкиваются с появлением спам-скриптов, автоматически проходящими регистрацию пользователя на сайтах, а затем спокойненько рассылают свой любимый спам. Принцип действия функции, которую я предлагаю к рассмотрению, прост, как все гениальное.
В существующий код регистрации добавляется новое текстовое поле, чтобы вводить логин под именем, к примеру, «spamunet_user_login
», а старое поле «user_login
» делается невидимым, встраивая параллельную проверку на заполнение этого нового текстового невидимого поля. Как видите, после внесения изменений внешне ничего не поменялось.
В результате получится, что живой пользователь при регистрации в вашем блоге не заметит разницы, а спам-бот заполнит как раз стандартное поле «user_login
», что и приведет к ошибке при регистрации. Не думайте, что все так просто, и любой спамер напишет какую-то свою прогу для взламывания этого кода.
Вы ведь можете задать абсолютно любое значение этому полю, в том числе и цифровое. Например, «12dfhbt56 nkhjy000asdwer_user_login
», и так для каждого своего сайта. Более того, для подстраховки вы можете иногда просто менять это значение, что займет у вас пару минут. Понятно, что значение «user_login
» должно присутствовать обязательно.
Вот таким вопросом встречает нас наш WordPress, если вы забыли и неправильно ввели пароль уже после регистрации. Ну, а зарегистрироваться спамерам он просто не позволяет.
Решение
Функция авторизации и регистрации в вашем, да и любом WordPress проходит в файле wp-login.php
. Изменить, как вы поняли, следует поле user_login
, которое в этой функции употребляется довольно часто, но нам нужна только функция регистрации. Поэтому открывайте файл wp-login.php
в корневой директории вашего сайта, и ищите там такой вот код:
$user_login = $_POST['user_login'];
Замените его на такой:
$user_login = $_POST['user_login'];
if(!empty($user_login)) wp_die('Добрый день, спам-бот!)');
$user_login = $_POST['nospam_user_login'];
В этом же файле, рядом, найдите вот это выражение:
И вместо него вставьте:
Если кто-то будет регистрироваться (я имею в виду человека, а не робота), то весь процесс будет проходить, как обычно, так как человек заполнит именно те поля, которые нужны:
То есть, спам-роботам на ваш сайт уже не попасть, потому что они будут заполнять поле «user_login
», а не то, которое вы назначили. И не забудьте изменить «user_login
» на что-то свое, пусть даже это значение будет иметь 100 символов. Удалить же уже зарегистрированных спам-пользователей вы можете все тем же плагином Clean Up Users, который вы найдете на официальном сайте разработчика плагина.
P.S. Прошло несколько дней, и я хочу показать вам один скриншот:
Такими письмами теперь завалена наша корзина на почте. Это сообщения о том, что некто не смог зарегистрироваться у нас на сайте. Мы думаем, вы поняли, кто этот «некто». Да-да, это спам-боты. Писем уже несколько десятков, и мы их просто направил в спам, чтобы не мешали нормальной работе почтового ящика.
Как видите, решение работает, и это очень хорошо — иначе нам пришлось бы чистить своих пользователей каждую неделю.
Отправить ответ