WordPress后台登陆邮件提醒脚本。。。

本文共被喵星人侦察过7,761次。。。

WordPress应该是现在使用最多的个人独立博客系统了。使用量的增加也使一些人盯上了WordPress这块风水宝地,这样一来WP的安全性就显得尤为重要。今天懒猫发布的这一脚本就可以为你的WordPres博客加一个看门狗,下面来看详细。。。

首先,使用这一脚本需要你的服务器能够发送邮件。。。(在登录WordPress的时候点击  忘记密码  ,如果收到邮件就说明有邮件功能。没有的可以试试 WP STMP CONFIG这一个插件。。。)

确认能够使用邮件后,就可以使用懒猫提供的脚本了。

先告诉大家这一个脚本干什么用的。

这一个脚本分两个部分,大家可以根据自己的喜好添加,或者都添加上。

第一个部分,作用是在你的WordPress博客有人登录的时候给博主的邮箱发送一封提醒邮件。效果如下:

第二个脚本懒猫觉得更加实用一点,这个脚本可以在有人尝试登录失败的时候发送邮件提醒你,如果有人想暴力破解密码的话马上就能看出来,然后直接禁封IP搞定。。。效果如下。。。

废话少叙,上代码。。。

代码一,登录提醒

/******************************************************************
 函数名称:wp_login_notify v1.0 DH.huahua.
 函数作用:有用户登录wp后台就会email通知博主
*******************************************************************/
function wp_login_notify()
{
    date_default_timezone_set('PRC');
    $admin_email = get_bloginfo ('admin_email');
    $to = $admin_email;
	$subject = 'WordPress博客登录提醒';
	$message = '<p>你好!你的WordPress博客(' . get_option("blogname") . ')有登录!</p>' .
	'<p>请确定是您自己的登录,以防别人攻击!登录信息如下:</p>' .
	'<p>登录名:' . $_POST['log'] . '<p>' .
	'<p>登录密码:' . $_POST['pwd'] .  '<p>' .
	'<p>登录时间:' . date("Y-m-d H:i:s") .  '<p>' .
	'<p>登录IP:' . $_SERVER['REMOTE_ADDR'] . '<p>';
	$wp_email = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME']));
	$from = "From: \"" . get_option('blogname') . "\" <$wp_email>";
	$headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";
	wp_mail( $to, $subject, $message, $headers );
}

add_action('wp_login', 'wp_login_notify');

代码二,登录失败提醒

/********************************************************************************
 函数名称:wp_login_failed_notify v1.0 by DH.huahua.
 函数作用:有错误登录wp后台就会email通知博主
*********************************************************************************/
function wp_login_failed_notify()
{
    date_default_timezone_set('PRC');
    $admin_email = get_bloginfo ('admin_email');
    $to = $admin_email;
	$subject = '你的WordPress博客登录错误警告';
	$message = '<p>你好!你的WordPress博客(' . get_option("blogname") . ')有登录错误!</p>' .
	'<p>请确定是您自己的登录失误,以防别人攻击!登录信息如下:</p>' .
	'<p>登录名:' . $_POST['log'] . '<p>' .
	'<p>登录密码:' . $_POST['pwd'] .  '<p>' .
	'<p>登录时间:' . date("Y-m-d H:i:s") .  '<p>' .
	'<p>登录IP:' . $_SERVER['REMOTE_ADDR'] . '<p>';
	$wp_email = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME']));
	$from = "From: \"" . get_option('blogname') . "\" <$wp_email>";
	$headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";
	wp_mail( $to, $subject, $message, $headers );
}

add_action('wp_login_failed', 'wp_login_failed_notify');

使用方法很简单,吧代码添加到自己正在使用主题的functions.php就可以了。。。