WordPress 登录邮件提醒防止被人反复尝试登录

文章目录[隐藏]

在 WordPress 的安全问题越来越不容忽视的今天,如何知道自己的登录信息是否已泄露,自己的博客是否被别人反复尝试登录是一个比较重要的事情。那怎么知道自己的博客是否被别人反复尝试登录呢?这个我们就要参考网上银行的办法——登录提醒。这里用的是邮件登陆提醒。怎么实现这个功能呢?插件固然可以解决问题,但是,我还是那句话,能不用插件,就不用插件。其实实现这个功能很简单,只要在主题的 Functions.php 中扔一段代码就可以做到。

登录提醒,还分为登录成功提醒和登录失败提醒,大家可以酌情选择需要哪一个提醒,或者两个都需要。

登录成功提醒

<php
function wp_login_notify()
{
	date_default_timezone_set('PRC');
	$admin_email = get_bloginfo ('admin_email');
	$to = $admin_email;
	$subject = '[' . get_option("blogname") . '] ' . '登录成功提醒';
	$message = '<p>您的博客(' . get_option("blogname") . ')于 ' . date("Y-m-d H:i:s") . ' 在IP ' . $_SERVER['REMOTE_ADDR'] . ' 上登录成功。</p>' . 
	'<p>请确认是您自己的操作,以防造成损失!</p>' .
	'<p>登录信息如下:</p>' . 
	'<p>用户名:' . $_POST['log'] . '<p>' .
	'<p>登录时间:' . date("Y-m-d H:i:s") .  '<p>' .
	'<p>登录 IP:' . $_SERVER['REMOTE_ADDR'] . '<p>';	
	$wp_email = 'WebMaster@' . 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' );
?>

 

登录失败提醒

<?php
function wp_login_failed_notify()
{
	date_default_timezone_set('PRC');
	$admin_email = get_bloginfo ('admin_email');
	$to = $admin_email;
	$subject = '[' . get_option("blogname") . '] ' . '登录失败提醒';
	$message = '<p>您的博客(' . get_option("blogname") . ')于 ' . date("Y-m-d H:i:s") . ' 在IP ' . $_SERVER['REMOTE_ADDR'] . ' 上登录失败。</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 = 'WebMaster@' . 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' );
?>

 

编写时参考了部分网上的资料。

此文章是由nikbobo发表在旧博客分类目录的。将固定链接加入收藏夹。

关于 nikbobo

Nikbobo,本名刘永强,记忆空间站长,男,1998 年出生于广东茂名,至今(2022 年)23 岁,目前(2022 年)就读于广州大学华软软件学院,常以“nikbobo”这个网名混迹互联网。如无特殊注明,Nikbobo 在本站发表的文章,遵循 知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议。详情请参阅关于页面的作者介绍。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注