WordPress登陆失败自动发送邮件提醒

在翼帆远航那里看到了提高 WordPress 安全:后台登录失败时,自动发邮件通知管理员这篇文章,开始没觉得太多作用,后来又看到faris lee吐槽某位无聊的人,你真的 够了~~可以歇会了~,才意识到原来真的有很多无聊的人,所以还是有必要向大家介绍下这个方法。

说到原理其实很简单,就是利用了wp_login_failed这个wordpress的hook,一旦触发该hook,就发送邮件至管理员处。

添加以下代码至functions.php中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 博客后台登录失败时发送邮件通知管理员
 
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');

多说一句,我这里只介绍了登陆失败时自动发送邮件提醒,因为我觉得这个最有意义。

参考文章:提高 WordPress 安全:后台登录失败时,自动发邮件通知管理员



本文出自 TENNFY WU,转载时请注明出处及相应链接。

本文永久链接: http://www.tennfy.com/1515.html

下一篇文章:

上一篇文章:

15人参与了讨论

  1. 无纯洁 说:

    我直接把wp-login.php给403掉,没那么多麻烦事~

  2. Faris 说:

    这个方法不错,我早就用上了。内什么,麻烦把我的友链名字修改为“ Faris Lee” :razz: 谢谢

  3. 破折君 说:

    很久不倒腾wordpress了

  4. Youth.霖 说:

    我 的怎么没发送邮件呢 :?:

  5. xilouqingzhu 说:

    知道别人在尝试登录后怎么破才是关键吧,,3次输错锁ip

  6. 香菇肥牛 说:

    还好没遇到过这种事儿。。。

  7. 明月登楼 说:

    不错,这个其实真的很好的!现在恶意密码登陆的人还是不少的!我以前的主题里面带有这个功能的,换了新主题后就没有用过了,感谢博主分享!代码我收了!嘿嘿! :wink:

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

5 + 3 = ?


您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

返回顶部