分享各种网络资源
是我乃至整个互联网的精髓所在
 您目前所在位置: 站点首页 » WordPress » 代码 » WordPress后台登陆成功/失败邮件提醒
+

WordPress后台登陆成功/失败邮件提醒

WordPress后台登陆成功/失败邮件提醒-BanYuner

之前使用的主题中是内置这个功能的,我也是开启了这个功能的,开启之后,就可以看到不断有人在尝试我后台的账号密码,所以当时也安装了插件来限制登录。但是说实话,如果有技术的博客,真的想要黑你站点的话,我觉得也没有什么效果的。

这里我就不解释后台的重要性了,直接附上相关代码,大家觉得要是可以的话,可以考虑添加:

登陆成功提醒

/*****************************************************
函数名称:wp_login_notify v1.0 by DH.huahua. revise 麦田一根葱
函数作用:有登录wp后台就会email通知博主
******************************************************/
function wp_login_notify()
{
date_default_timezone_set('PRC');
$admin_email = get_bloginfo ('admin_email');
$to = $admin_email;
function getIP() {
if (@$_SERVER["HTTP_X_FORWARDED_FOR"])
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if (@$_SERVER["HTTP_CLIENT_IP"])
$ip = $_SERVER["HTTP_CLIENT_IP"];
else if (@$_SERVER["REMOTE_ADDR"])
$ip = $_SERVER["REMOTE_ADDR"];
else if (@getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (@getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if (@getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else
$ip = "Unknown";
return $ip;
}
$ip = getIP() ;
$iplist=list($ip1, $ip2) = split ('[,]', $ip);
function getIPLoc_QQ($ip1){
$url = 'http://ip.qq.com/cgi-bin/searchip?searchip1='.$ip1;
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_ENCODING ,'gb2312');
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
$result = curl_exec($ch);
$result = mb_convert_encoding($result, "utf-8", "gb2312");
curl_close($ch);
preg_match("@<span>(.*)</span></p>@iU",$result,$ipArray);
$loc = $ipArray[1];
return $loc;
}
$subject = '你的博客空间登录提醒';
$message = '你好!你的博客(' . get_option("blogname") . ')有登录!<br/>' . '请确定是您自己的登录,以防别人攻击!登录信息如下:<br/>' . '登录名:' . $_POST['log'] . '<br/>' .'登录时间:' . date("Y-m-d H:i:s") . '<br/>' .'登录IP:'. $ip1 .'('. getIPLoc_QQ($ip1).')';
$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');

代码中的IP地址是通过腾讯的IP分享计划来获取的。

登录失败提醒

/*****************************************************
函数名称:wp_login_failed_notify v1.0 by DH.huahua. revise 麦田一根葱
函数作用:有错误登录wp后台就会email通知博主
******************************************************/
function wp_login_failed_notify()
{
date_default_timezone_set('PRC');
$admin_email = get_bloginfo ('admin_email');
$to = $admin_email;
function getIP() {
if (@$_SERVER["HTTP_X_FORWARDED_FOR"])
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if (@$_SERVER["HTTP_CLIENT_IP"])
$ip = $_SERVER["HTTP_CLIENT_IP"];
else if (@$_SERVER["REMOTE_ADDR"])
$ip = $_SERVER["REMOTE_ADDR"];
else if (@getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (@getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if (@getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else
$ip = "Unknown";
return $ip;
}
$ip = getIP() ;
$iplist=list($ip1, $ip2) = split ('[,]', $ip);
function getIPLoc_QQ($ip1){
$url = 'http://ip.qq.com/cgi-bin/searchip?searchip1='.$ip1;
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_ENCODING ,'gb2312');
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
$result = curl_exec($ch);
$result = mb_convert_encoding($result, "utf-8", "gb2312");
curl_close($ch);
preg_match("@<span>(.*)</span></p>@iU",$result,$ipArray);
$loc = $ipArray[1];
return $loc;
}
$subject = '你的博客空间登录错误警告';
$message = '你好!你的博客空间(' . get_option("blogname") . ')有登录错误!<br/>' . '请确定是您自己的登录失误,以防别人攻击!登录信息如下:<br/>' . '登录名:' . $_POST['log'] . '<br/>' .'登录密码:' . $_POST['pwd'] . '<br/>' .'登录时间:' . date("Y-m-d H:i:s") . '<br/>' .'登录IP:'. $ip1 .'('. getIPLoc_QQ($ip1).')';
$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');
关注我们 打赏 分享此文
微信扫码,关注我们
扫码,支持我
WordPress后台登陆成功/失败邮件提醒
支付宝(点击图片切换)
扫码,支持我
WordPress后台登陆成功/失败邮件提醒
微信(点击图片切换)
扫码,手机看
WordPress后台登陆成功/失败邮件提醒
匿名

个人评价:┃草根博主┃站点无技术含量┃文章内容不够吸引人┃转载内容随处可见┃资源均来自网络┃ 分享是我的宗旨,也是这个站点存在意义,分享的东西你现在可能不需要,但是我相信只要在某个时间你需要的时候能在这里找到,那么我就是成功的

相关推荐

  • WordPress修改默认的头像图标

    WordPress修改默认的头像图标

    随着越来越多人使用WordPress,但是很多用户不会修改自己站点的默认WordPress图标,就会跟我的站点一样,看上去非常不美观, ...

    点击查看
  • WordPress简易集成Markdown教程

    WordPress简易集成Markdown教程

    今天首先在群里面看到一个用户询问是否有方法将Markdown集成到主题里面去,后来我一想,这个所谓的Markdown确实是很多人提到 ...

    点击查看
  • WordPress制作简易年度总结页面

    WordPress制作简易年度总结页面

    今天早些时候已经制作一个类似112博客导航的页面,具体可以详见:

    点击查看
  • WordPress通过短代码显示指定文章内容

    WordPress通过短代码显示指定文章内容

    今天在一个WordPress交流群里面看到一个群友问一个问题,我个人方面也是很感兴趣,这个问题就是如何通过“新建文章栏输入链接 ...

    点击查看
  • 禁用WordPress 4.7版本的PDF预览功能

    禁用WordPress 4.7版本的PDF预览功能

    之前的文章我们也介绍了,关于WordPress 4.7版本中,新增了一个预览PDF的功能,详见:

    点击查看
  • WordPress获取文章的第一张图片并且显示

    WordPress获取文章的第一张图片并且显示

    关于这类的文章我们已经介绍过两种方法了,两种方法都不一样,但是适合自己的才是最好的,虽然今天我要介绍的方法可能不适合 ...

    点击查看
  • 帅气小琦琦
  • feedme
  • 楚书业
WordPress后台登陆成功/失败邮件提醒
5 + 3 =
  • 昵称 (必填)  
  • 邮箱 (必填)
  • 网址 (选填)
  1. 2楼
    feedme
    请问这个要加在哪里?另外邮箱在哪里设置呢?
    feedme 来自天朝的朋友 谷歌浏览器 Windows 10 吉林省四平市 联通 9个月前 (04-19)回复
    • 帅气小琦琦
      @feedme 这个是直接添加到你主题目录下function文件里面的,最后一个?>之前,邮箱方面是不用设置的,默认是直接发送给管理员邮箱
      帅气小琦琦   来自天朝的朋友 谷歌浏览器 Windows 10 湖北省武汉市 联通 9个月前 (04-19)回复
  2. 1楼
    楚书业
    :oops: so good!
    楚书业 来自天朝的朋友 QQ浏览器 Windows 10 福建省 移动 10个月前 (04-05)回复