当前位置: 首页 > 编程笔记 >

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

朱宏爽
2023-03-14
本文向大家介绍WordPress中访客登陆实现邮件提醒的PHP脚本实例分享,包括了WordPress中访客登陆实现邮件提醒的PHP脚本实例分享的使用技巧和注意事项,需要的朋友参考一下


登陆邮件提醒实现方法
前提是空间有邮件功能,测试有无邮件功能的方法:登录界面点击“忘记密码”,有邮件发到你邮箱就有邮件功能。

一、登录成功提醒
就像银行的登录提醒一样,如果有人登录了系统,就会发一封邮件到邮箱,提醒你有人登录了,如果当时不是你登录,就要引起警惕了。将以下代码放入主题的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 = '<p>你好!你的博客空间(' . get_option("blogname") . ')有登录!</p>' . 
 '<p>请确定是您自己的登录,以防别人攻击!登录信息如下:</p>' . 
 '<p>登录名:' . $_POST['log'] . '</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');

二、登录失败提醒
有人尝试登陆你的系统,但是没有成功,这种反复尝试的动作本身就需要被记录下来,发给博主,这样,只要有错误的登录,就会发一封邮件到自己的邮箱,将对方尝试的登录名和登录密码发送到你邮箱。将以下代码放入主题的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 = '<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');

效果如下图所示,后面有个登录所在地是用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实现用户登陆简单实例,包括了php实现用户登陆简单实例的使用技巧和注意事项,需要的朋友参考一下 php实现用户登陆简单实例 前言: 最近要完成的最后一个部分,就是对用户提交的数据进行管理,至于管理,那肯定就是管理员的事了,那一定涉及登陆,验证账号权限,账号是否过期等等问题。 所需知识 session,确实是很重要的东西。并且我遇到session不能跨页,修改PHP.ini的se

  • 本文向大家介绍php中的登陆login实例代码,包括了php中的登陆login实例代码的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了php中的登陆login具体实现代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家学习PHP程序设计有所帮助。

  • 本文向大家介绍脚本实现SSH登录邮件报警,包括了脚本实现SSH登录邮件报警的使用技巧和注意事项,需要的朋友参考一下 登录保护是一个非常重要的环节,下面通过图文并茂的方式给大家详细讲解下: 前两天@cyy 给我发了一个图 然后我就想到USHQ的ssh登录app通知功能,然后就像如果把这个部署到自用的服务器就好了。至少多一层安全系数。 首先要感谢@Legion 帮忙搞定了几个错误以及搞定了Geo2IP

  • 本文向大家介绍php实现登陆模块功能示例,包括了php实现登陆模块功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现登陆模块功能的方法。分享给大家供大家参考,具体如下: 最近在学习php。学了一点关于登陆的东西,写下来备忘。 新建四个页面,分别命名为: login.php check.php index.php error.php login页面用表单建立一个登陆页面,不多

  • 本文向大家介绍PHP实现SMTP邮件的发送实例,包括了PHP实现SMTP邮件的发送实例的使用技巧和注意事项,需要的朋友参考一下 当你还在纠结php内置的mail()函数不能发送邮件时,那么你现在很幸运,此时的这篇文章可以帮助到你! php利用smtp类来发邮件真是屡试不爽,我用过很久了,基本上没出过问题。本博客后台,当博主回复留言时候,会自动给网友发一封有新回复提示的邮件也是用的本文这个方法实现的

  • 本文向大家介绍struts2+jquery实现ajax登陆实例详解,包括了struts2+jquery实现ajax登陆实例详解的使用技巧和注意事项,需要的朋友参考一下 文本仪一个实例讲述了struts2+jquery实现ajax登陆的实现方法,具体步骤如下: 一、新建一个web项目,取名test。配置好struts2的环境,并导入Jquery的js文件到该项目。 二、在com.action包下,新