Для Wordpress нужно изменить файл wp-login.php
Для большей защиты текст new_user_login нужно изменить на своё, например, zdwbp_user_login.

Закомментированный блок с кодом нужен, чтобы отслеживать, когда и какой юзер был спамером.
Найдите блок:
Code: Select all
$user_login = '';
$user_email = '';
if ( $http_post ) {
$user_login = $_POST['user_login'];
Code: Select all
$user_login = $_POST['user_login'];
if(!empty($user_login)) {
//$svafp = fopen("spam.log","a+");
//$svadate = gmdate("Y-m-d H:i:s ");
//fwrite($svafp, '['.$svadate.'] '.$user_login."\r\n");
//fclose($svafp);
wp_die('Success! Spamer go away!');
}
$user_login = $_POST['new_user_login'];
Code: Select all
<form name="registerform" id="registerform" action="<?php echo esc_url( site_url('wp-login.php?action=register', 'login_post') ); ?>" method="post" novalidate="novalidate">
<p>
<label for="user_login"><?php _e('Username') ?><br />
<input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr(wp_unslash($user_login)); ?>" size="20" /></label>
</p>
Code: Select all
<form name="registerform" id="registerform" action="<?php echo esc_url( site_url('wp-login.php?action=register', 'login_post') ); ?>" method="post">
<div style="display: none;"><p>
<label for="user_login"><?php _e('Username') ?><br />
<input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr(stripslashes($user_login)); ?>" size="20" /></label>
</p></div>
<p>
<label for="new_user_login"><?php _e('Username') ?><br />
<input type="text" name="new_user_login" id="user_login" class="input" value="<?php echo esc_attr(stripslashes($user_login)); ?>" size="20" /></label>
</p>