WordPress 管理员账号登陆后台时自动发送邮件提醒功能

网站安全问题不容忽视,易破解这几天更新都减少了许多,因为易破解最近在研究网站安全问题,可以说是百度搜索查阅了很多资料,对易破解网站进行了全面的检查,对网站PHP文件进行查杀,包括手动进行文件的查杀,网站安全事情涉及网站以后的发展,如果网站被黑面临着被搜索引擎降权,用户的极度不信任从而导致的用户流失,或者网站被挂色情信息导致的法律问题,或者黑客直接对你的服务器信息进行监控偷偷使用服务器来进行挖矿,再为严重的就是黑客直接对网站进行删除数据库,删除网站文件等等毁灭性的操作,多年的努力付之东流,可想而知服务器安全问题尤为重要。

任何才能知道网站自己的账号有人登录成功或者登录失败呢,如果在登录的时候有个邮件发送提醒功能的话就好了,起码在登录的时候可以知道是不是自己登录,如果有人登录了WordPress后台,就会发一封邮件到邮箱,提醒你有人登录了,如果当时不是你登录,就要引起警惕,进行一些操作了,比如修改登录密码等等。

将以下代码放入主题的functions.php文件里面便可实现纯代码WordPress管理员账号登陆后台成功时自动发送邮件提醒。

提示:文件路径在网站根目录 > wp-content > themes > 主题 > functions.php

登录成功提醒代码

/*****************************************************
函数名称:wp-admin
函数作用:后台登录成功时邮件通知管理员站长
******************************************************/
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>登录时间:' . 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文件里面便可实现纯代码WordPress管理员账号登陆后台失败时自动发送邮件提醒。

提示:文件路径在网站根目录 > wp-content > themes > 主题 > functions.php

登录失败提醒

 /***************************************************** 
函数名称:wp_login
函数作用:后台登录失败时邮件通知管理员站长 
******************************************************/ 
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'); 

这个代码也是网上找的亲测可以使用,最后易破解不得不说一下这个代码的不足之处就是,任何人登录网站都会发生邮件,易破解已经分分钟收到了N个邮件,为什么不能研究下出个“指定只有管理员账号登陆时自动发送邮件通知管理员”的代码呢,查阅百度很多资料都没有相关的解决方法。

人已赞赏
技术分享技术文档

苹果CMS火车头采集规则,360看影视全站火车头采集规则加发布模块,

2020-3-10 9:46:03

技术分享

免费下载 [discuz!插件] 弹窗广告 3.9

2020-6-4 0:48:01

⚠️
91lxs.com上的部份代码及教程来源于互联网,仅供网友学习交流,未经念于惜作者或上传书面授权,请勿作他用。
若您的权利被侵害,请联系站长 QQ: 482314363 或 点击右侧 私信:念于惜 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索