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

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

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

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

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

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

登陆成功提醒

/*****************************************************
函数名称: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纯代码实现文章AJAX点赞

    WordPress纯代码实现文章AJAX点赞

    这个功能其实在很多主题中都集成进去了,DUX默认的主题里面也是有这个功能的,但是我将其删除了,之后换上了评星插件了,评 ...

    点击查看
  • WordPress页面(page)添加标签和分类功能

    WordPress页面(page)添加标签和分类功能

    WordPress页面(page)添加标签和分类功能 文章分类目录和标签功能是WordPress自带的功能,但是很多时候,喜欢使用页面的用 ...

    点击查看
  • 如何在WordPress文章中插入视频

    如何在WordPress文章中插入视频

    如何在WordPress文章中插入视频 现在很多站点都是做视频站点的,同时也有很多视频站点都是使用的CK播放器,如果你已经使用了 ...

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