通过下面的WordPress 登陆失败自动发送邮件提醒代码,可以第一时间收到登陆失败的邮件提醒,还能获得登陆失败的“登录名”、“尝试的密码”、“登录时间”、“登录的IP”,通过这些数据就可以提高自己 WordPress 站点的安全系数将代码放到当前主题function.php文件里即可。

<code>
// 博客后台登录失败时发送邮件通知管理员
function wp_login_failed_notify()
{
    date_default_timezone_set('PRC');
    $admin_email = get_bloginfo('admin_email');
    $to = $admin_email;
    $subject = '【登录失败】有人使用了错误的用户名或密码登录『' . get_bloginfo('name') . '』';
    $message = '<span style="color:red; font-weight: bold;">『' . get_bloginfo('name') . '』有一条登录失败的记录产生,若登录操作不是您产生的,请及时注意网站安全!</span><br /><br />';
    $message .= '登录名:' . $_POST['log'];
    $message .= '<br />尝试的密码:' . $_POST['pwd'];
    $message .= '<br />登录的时间:' . date("Y-m-d H:i:s");
    $message .= '<br />登录的 IP:' . $_SERVER['REMOTE_ADDR'];
    $message .= '<br /><br />';
    $message .= '您可以: <a href="' . get_bloginfo('url') . '" target="_target">进入' . get_bloginfo('name') . '»</a>';
    wp_mail( $to, $subject, $message, "Content-Type: text/html; charset=UTF-8" );
}
add_action('wp_login_failed', 'wp_login_failed_notify');

其实这个代码有时候会因为有人频繁的恶意登陆尝试造成大量邮件,这时就要及时的通过获取的IP来屏蔽之了,或者隐藏wp-login等方式来规避这种恶意的登陆尝试。