Как запретить регистрацию спам-ботов в WordPress

На одном из сайтов, который работает на движке WordPress, сильно участились регистрации ботов. Было решено покончить с таким произволом и начать «Битву против спам-ботов». Если вам интересно, как запретить регистрацию спам-ботов в WordPress, то читайте далее и узнаете секретные штуки.

В качестве основного пациента будет выступать файл wp-login.php, который находится в корне сайта. Открываем его в любом редакторе и находим строку

$user_login = $_POST['user_login'];

и заменяем её на следующие строчки

$user_login = $_POST['user_login'];
if(!empty($user_login)) wp_die('Ботам регистрация запрещена!');
$user_login = $_POST['please_nospam_user_login'];

Теперь в этом же файле ищем код

<p>
<label><?php _e('Username') ?><br />
<input type="text" name="user_login" id="user_login" value="<?php echo esc_attr(stripslashes($user_login)); ?>" size="20" tabindex="10" /></label>
</p>

и меняем на следующее

<div style="display: none;">
<p>
<label><?php _e('Username') ?><br />
<input type="text" name="user_login" id="user_login" value="<?php echo esc_attr(stripslashes($user_login)); ?>" size="20" tabindex="10" /></label>
</p></div>
<p><label><?php _e('Username') ?><br />
<input type="text" name="please_nospam_user_login" id="user_login" value="<?php echo esc_attr(stripslashes($user_login)); ?>" size="20" tabindex="10" /></label>
</p>

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

2 комментария

  1. Здравствуйте.

    Заменил указанные места фрагментами, которые Вы указали. Попробовал зарегистрироваться у себя на сайте с постороннего IP. Не получилось. В ответ получил только сообщение о запрете регистрации ботов. Как поступить? Спасибо.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *