WordPress登陆失败自动发送邮件提醒
[v_blue] 可能很多博客站长们都遇到过自己的博客被恶意登录尝试了,这两天九哥就被多次恶意登录尝试,之前无意中在【明月登楼】博客里看到分享的这个代码,现在发现这个功能其实还是很有必要的,毕竟过于频繁的恶意登录尝试对主机负载是有影响的,也会威胁到数据库信息。[/v_blue]
通过下面的代码,可以第一时间收到登陆失败的邮件提醒,还能获得登陆失败的“登录名”、“尝试的密码”、“登录时间”、“登录的IP”,通过这些数据就可以提高自己 WordPress 站点的安全系数。
- // 博客后台登录失败时发送邮件通知管理员
- 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');
将上述代码放到当前主题functions.php文件里即可。九哥亲测可用。
其实这个代码有时候会因为有人频繁的恶意登录尝试造成大量邮件,这时就要及时的通过获取的IP来屏蔽之了(推荐),或者隐藏wp-login(这个九哥就隐藏了,依然被恶意登录尝试)等方式来规避这种恶意的登录尝试。
相关推荐:
[bsy_insert_post ids=484]
[bsy_insert_post ids=499]
[bsy_insert_post ids=993]
Koolight
邮件多了也受不了的。
九哥@Koolight
所以要隐藏登陆地址!要没有邮件提醒都不知道被攻击了,有个提醒还可以采取点措施嘛
龙笑天
之前邮件被挤满了,我就关了这个功能…
九哥@龙笑天
那只能隐藏或修改登录地址,关闭的话有人暴力破解都不知道。。。
福这里
装缓存插件没有?
福这里
你博客主题,动了不少东西,花哨也多
九哥@福这里
折腾呗,不折腾怎么学东西?
明月登楼
路过,来支持一下!
九哥@明月登楼
感谢,多支持
清秋暖冬
刚弄了个这个试试,发现接收邮箱跟吃了炫迈一样跟本停不下来
九哥@清秋暖冬
不用不知道,用了吓一跳,快禁IP。
Koolight
邮件太多了,有些受不了了!
九哥@Koolight
没有邮件都不知道有人在破解你的后台啊!
懿古今
这个我记得以前弄过,被爆破的时候收到很多邮件,所以后来就取消了,隐藏后台登录地址
九哥@懿古今
这个真得弄,我隐藏了也被黑,所以有提醒我就禁止IP。