WordPress安全:坏人登录后台邮件提醒

虫子君
虫子君
虫子君
560
文章
260
评论
2019年12月15日22:41:10 评论 181 2646字阅读8分49秒

WordPress这个圈子很大,大到一辈子也无法走完这个江湖,WordPress这片天地中能人辈出,是我等一生都不能懈怠的追逐。这个江湖太大了,那坏人自然也就会很多,有的坏人仅仅是做一点小坏事,而有的则是惊天动地。

比如我这样的小博客,成天有提醒,在而已爆破我的密码,害得我密码加强加强再加强。有时候我不由得在想,到了某一天密码到了一定的长度,我自己也会忘记吧。到时候忘记了密码我该怎么办,是不是也要跟这些坏人一样,用个这个样的办法找回自己的密码?

难道说,那些在登录我博客后台的人也是在“找回密码”?也对,可能他们仅仅是迷失了方向,所以才不得一遍又一遍的重复试验大输入密码,敲击回车,输入密码,敲击回车。。。。。

WordPress安全:坏人登录后台邮件提醒

今天教大家一个不用插件的办法,实现当坏人在登录你的博客后台的时候,或者是在攻击你的WordPress后台的时候收到邮件提醒的解决办法。

注:当然还有其他的办法,比如利用其他工具修改WordPress的默认后台地址等等。如果您喜欢可以看看我的这篇关于如何修改WordPress后台的办法。

操作代码;

将下方的代码粘贴到您主题的function文件当中,保存即可。

以下办法可以帮助您解决两个问题,1、当坏人在登录您的后台的时候,假如密码填写失败登录失败,程序会将这些信息收集起来,然后汇总在一个时间段发送一个邮件通知你。2、当坏人已经通过各种各样的手段成功登录到你的博客以后,WordPress会自动发送一封邮件给你。这时如果您确认不是您登录的博客后台的话,那就需要修改密码了。

/*****************************************************
函数名称:wp_login_failed_notify
函数作用:有错误登录wp后台就会email通知博主
******************************************************/
function wp_login_failed_notify()
{
date_default_timezone_set('PRC');
$admin_email = get_bloginfo ('admin_email');
$to = $admin_email;
$subject = '你的网站登录错误警告';
$message = '<p>你好!你的网站(' . 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');
/*****************************************************
函数名称:wp_login_notify
函数作用:有登录wp后台就会email通知博主
******************************************************/
function wp_login_notify()
{
date_default_timezone_set('PRC');
$admin_email = get_bloginfo ('admin_email');
$to = $admin_email;
$subject = '你的网站登录提醒';
$message = '<p>你好!你的网站(' . 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');

如果已经登录不了的话,那密码已经被改了,所以这时候您可以通过我下面的这这一篇文章协助您找回密码。找回 WordPress 登录密码

展开全文
  • 您有好资源需要让广大网友一起享用吗?可以是您的主题,也可以是插件,欢迎来投稿!
  • 这里是我的博客,亦是您分享插件或主题的地方,虫子君只专注WordPress,以及自己的工作。这里欢迎你来投稿。

您必须才能发表评论!