找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1818|回复: 0
打印 上一主题 下一主题

WordPress中访客登陆实现邮件提醒的PHP脚本实例分享

[复制链接]

2487

主题

2487

帖子

7391

积分

论坛元老

Rank: 8Rank: 8

积分
7391
跳转到指定楼层
楼主
发表于 2018-2-14 05:40:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            
登陆邮件提醒实现方法
前提是空间有邮件功能,测试有无邮件功能的方法:登录界面点击“忘记密码”,有邮件发到你邮箱就有邮件功能。
一、登录成功提醒
就像银行的登录提醒一样,如果有人登录了系统,就会发一封邮件到邮箱,提醒你有人登录了,如果当时不是你登录,就要引起警惕了。将以下代码放入主题的functions.php中:
/*****************************************************
函数名称:wp_login_notify v1.0 by DH.huahua.
函数作用:有登录wp后台就会email通知博主
******************************************************/
function wp_login_notify()
{
  date_default_timezone_set('PRC');
  $admin_email = get_bloginfo ('admin_email');
  $to = $admin_email;
$subject = '你的博客空间登录提醒';
$message = '你好!你的博客空间(' . get_option("blogname") . ')有登录!
' .
'请确定是您自己的登录,以防别人攻击!登录信息如下:
' .
'登录名:' . $_POST['log'] . '
' .
'登录时间:' . date("Y-m-d H:i:s") . '
' .
'登录IP:' . $_SERVER['REMOTE_ADDR'] . '
';
$wp_email = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME']));
$from = "From: \"" . get_option('blogname') . "\" ";
$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');
二、登录失败提醒
有人尝试登陆你的系统,但是没有成功,这种反复尝试的动作本身就需要被记录下来,发给博主,这样,只要有错误的登录,就会发一封邮件到自己的邮箱,将对方尝试的登录名和登录密码发送到你邮箱。将以下代码放入主题的functions.php中:
/*****************************************************
函数名称:wp_login_failed_notify v1.0 by DH.huahua.
函数作用:有错误登录wp后台就会email通知博主
******************************************************/
function wp_login_failed_notify()
{
  date_default_timezone_set('PRC');
  $admin_email = get_bloginfo ('admin_email');
  $to = $admin_email;
$subject = '你的博客空间登录错误警告';
$message = '你好!你的博客空间(' . get_option("blogname") . ')有登录错误!
' .
'请确定是您自己的登录失误,以防别人攻击!登录信息如下:
' .
'登录名:' . $_POST['log'] . '
' .
'登录密码:' . $_POST['pwd'] . '
' .
'登录时间:' . date("Y-m-d H:i:s") . '
' .
'登录IP:' . $_SERVER['REMOTE_ADDR'] . '
';
$wp_email = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME']));
$from = "From: \"" . get_option('blogname') . "\" ";
$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');
效果如下图所示,后面有个登录所在地是用qqwry.dat做了个查询

修改后台登录地址
插件法
不少插件可以实现这样的功能,比如Protected wp-login和Stealth Login Page,直接下载安装即可,这里不多介绍。
代码法
不想用插件的话,直接将下面的代码复制到当前主题的 functions.php 文件中:
//保护后台登录
function login_protection(){
  if($_GET['word'] != 'fuck')header('Location: http://blog.gimhoy.com/');
}
add_action('login_enqueue_scripts','login_protection');
这样只有打开 http://siteurl/wp-login.php?word=fuck,才会打开登录页,否则就会自动跳转到 http://blog.gimhoy.com/
但是博主这样做之后,邮箱里还是每天都收到很多登录失败的提醒邮件,于是采取了一个更加简单粗暴的方法:修改wp-login.php文件名
比如将wp-login.php修改成gimhoy-login.php,同时还要打开这个文件,将里面所有的wp-login.php替换成gimhoy-login.php。这样登录地址便成了http://siteurl/gimhoy-login.php.跟前面那个方法结合起来,就成了http://siteurl/gimhoy-login.php?word=fuck.
简单粗暴,目的达成。
            
            
您可能感兴趣的文章:
  • php REMOTE_ADDR之获取访客IP的代码
  • php 向访客和爬虫显示不同的内容
  • php 判断访客是否为搜索引擎蜘蛛的函数代码
  • php使用curl抓取qq空间的访客信息示例
  • thinkphp判断访客为手机端或PC端的方法
  • php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
  • 在WordPress中使用PHP脚本来判断访客来自什么国家
  • 利用PHP获取网站访客的所在地位置
  • 利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端