Запрещаем регистрацию спам-ботов в WordPress

Запретить регистрацию спам-ботов в WordPress довольно просто.
Заметил что частота регистрации спам-ботов возрастает если на главной странице есть форма входа/регистрации пользователей, но убирать ее не нужно, ведь запретить регистрацию ботам можно несколькими простыми способами:

Способ 1. Установить плагин который будет добавлять обязательное для заполнения поле при регистрации. Скрипты авто-регистрации ботов не знают от таком поле и естественно не смогут его заполнить, особенно если в это поле должен вводится фиксированный ответ на какой нибудь вопрос.

Способ 2. Вручную отредактировать код файла wp-login.php (в котором изменим user_login на что угодно). Боты будут заполнять на странице регистрации стандартный user_login, но увы заполнять нужно уже не его :)
Найдём строку:

$user_login = $_POST['user_login'];

И заменим её на:

$user_login = $_POST['user_login'];
if(!empty($user_login)) wp_die('Нет доступа!');
$user_login = $_POST['abc_user_login'];

Найдем ниже:


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


И заменим на:

<div style="display: none;">


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

</div>



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


Способ 3. Установить капчу через плагин например, но увы иногда боты могут распознать текст капчи, по этому капча это как дополнительный метод защиты, который может затруднить регистрацию и самим же пользователям.

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