🎀 🌸

WordPress登录安全增强:实时邮件提醒功能助力网站管理

有问题请联系小渡qq2092115940

WordPress登录安全增强:实时邮件提醒功能助力网站管理

WordPress登录提醒:增强网站安全性的实用技巧

作为网站管理员,您可能经常需要处理用户登录问题,尤其是当涉及到敏感数据和重要操作时。为了提高网站的安全性和管理效率,了解如何在用户登录成功或失败时接收邮件通知是非常有用的。本文将详细介绍如何在WordPress后台实现这一功能,并提供一些额外的登录安全建议。

一、实现登录成功邮件通知

当管理员账号登录时,及时了解情况是非常重要的。通过发送登录成功的邮件通知,您可以确保每次登录都是合法和预期的。以下是具体的实现步骤:

  1. 打开您网站的functions.php文件。
  2. 将以下代码粘贴到文件中:
function notify_admin_login($user_login, $user) {
date_default_timezone_set('PRC');
if (in_array('administrator', $user->roles)) {
$admin_email = get_bloginfo('admin_email');
$subject = 'WordPress后台登录成功提醒';
$message = '<p>你好!您的网站(' . get_option("blogname") . ')后台登录成功提醒!</p>' .
"<p>登录名:{$user_login}</p>" .
"<p>登录时间: " . date("Y-m-d H:i:s") . "</p>" .
"<p>登录IP: " . $_SERVER['REMOTE_ADDR'] . "</p>";
$from = "From: WordPress Admin <no-reply@" . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])) . ">";
$headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";
wp_mail($admin_email, $subject, $message, $headers);
}
}
add_action('wp_login', 'notify_admin_login', 10, 2);
function notify_admin_login($user_login, $user) {
    date_default_timezone_set('PRC');
    if (in_array('administrator', $user->roles)) {
        $admin_email = get_bloginfo('admin_email');
        $subject = 'WordPress后台登录成功提醒';
        $message = '<p>你好!您的网站(' . get_option("blogname") . ')后台登录成功提醒!</p>' .
                   "<p>登录名:{$user_login}</p>" .
                   "<p>登录时间: " . date("Y-m-d H:i:s") . "</p>" .
                   "<p>登录IP: " . $_SERVER['REMOTE_ADDR'] . "</p>";

        $from = "From: WordPress Admin <no-reply@" . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])) . ">";
        $headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";

        wp_mail($admin_email, $subject, $message, $headers);
    }
}
add_action('wp_login', 'notify_admin_login', 10, 2);
function notify_admin_login($user_login, $user) { date_default_timezone_set('PRC'); if (in_array('administrator', $user->roles)) { $admin_email = get_bloginfo('admin_email'); $subject = 'WordPress后台登录成功提醒'; $message = '<p>你好!您的网站(' . get_option("blogname") . ')后台登录成功提醒!</p>' . "<p>登录名:{$user_login}</p>" . "<p>登录时间: " . date("Y-m-d H:i:s") . "</p>" . "<p>登录IP: " . $_SERVER['REMOTE_ADDR'] . "</p>"; $from = "From: WordPress Admin <no-reply@" . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])) . ">"; $headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n"; wp_mail($admin_email, $subject, $message, $headers); } } add_action('wp_login', 'notify_admin_login', 10, 2);

这段代码将在用户登录成功后发送一封邮件给管理员,包含登录名、登录时间、登录IP等信息。

二、实现登录失败邮件通知

登录失败可能意味着有人正在尝试非法访问您的网站。记录并通知这些尝试对于维护网站安全至关重要。以下是设置登录失败邮件通知的方法:

  1. 同样打开functions.php文件。
  2. 将以下代码粘贴到文件中:
function notify_admin_login_failed($username) {
date_default_timezone_set('PRC');
$admin_email = get_bloginfo('admin_email');
$user = get_user_by('login', $username);
if ($user && in_array('administrator', $user->roles)) {
$subject = 'WordPress后台登录失败提醒';
$message = '<p>你好!您的网站(' . get_option("blogname") . ')后台登录失败提醒!</p>' .
"<p>登录名:{$username}</p>" .
"<p>登录时间: " . date("Y-m-d H:i:s") . "</p>" .
"<p>登录IP: " . $_SERVER['REMOTE_ADDR'] . "</p>";
// 在这里可以添加额外的安全措施,比如将登录失败的尝试记录到数据库中
wp_mail($admin_email, $subject, $message);
}
}
add_action('wp_login_failed', 'notify_admin_login_failed');
function notify_admin_login_failed($username) {
    date_default_timezone_set('PRC');
    $admin_email = get_bloginfo('admin_email');
    $user = get_user_by('login', $username);
    if ($user && in_array('administrator', $user->roles)) {
        $subject = 'WordPress后台登录失败提醒';
        $message = '<p>你好!您的网站(' . get_option("blogname") . ')后台登录失败提醒!</p>' .
                   "<p>登录名:{$username}</p>" .
                   "<p>登录时间: " . date("Y-m-d H:i:s") . "</p>" .
                   "<p>登录IP: " . $_SERVER['REMOTE_ADDR'] . "</p>";

        // 在这里可以添加额外的安全措施,比如将登录失败的尝试记录到数据库中

        wp_mail($admin_email, $subject, $message);
    }
}
add_action('wp_login_failed', 'notify_admin_login_failed');
function notify_admin_login_failed($username) { date_default_timezone_set('PRC'); $admin_email = get_bloginfo('admin_email'); $user = get_user_by('login', $username); if ($user && in_array('administrator', $user->roles)) { $subject = 'WordPress后台登录失败提醒'; $message = '<p>你好!您的网站(' . get_option("blogname") . ')后台登录失败提醒!</p>' . "<p>登录名:{$username}</p>" . "<p>登录时间: " . date("Y-m-d H:i:s") . "</p>" . "<p>登录IP: " . $_SERVER['REMOTE_ADDR'] . "</p>"; // 在这里可以添加额外的安全措施,比如将登录失败的尝试记录到数据库中 wp_mail($admin_email, $subject, $message); } } add_action('wp_login_failed', 'notify_admin_login_failed');

这段代码将在用户登录失败时发送一封邮件给管理员,同样包含登录名、登录时间、登录IP等信息。

三、额外的安全建议

除了上述的邮件通知功能外,还有一些额外的安全措施可以帮助您增强WordPress网站的安全性:

  1. 启用两步验证:这为您的账户添加了额外一层保护,即使密码被盗,未经授权的用户也难以登录。
  2. 限制登录尝试次数:这可以防止暴力破解攻击,限制未经授权的用户尝试登录的次数。
  3. 更改默认的登录URL:这可以减少自动攻击的可能性,使未经授权的用户更难猜测登录路径。
  4. 定期更新WordPress和插件:保持您的WordPress版本和所有插件的最新状态,以确保您受益于最新的安全补丁和功能改进。

{alert type=”info”}
参考
{/alert}

温馨提示:本文最后更新于2024-05-08 14:57:00,某些文章具有时效性,若有错误或已失效,请在下方留言或联系站长
版权声明

   站内部分内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供网络资源分享服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请 联系我们 一经核实,立即删除。并对发布账号进行永久封禁处理。在为用户提供最好的产品同时,保证优秀的服务质量。


本站仅提供信息存储空间,不拥有所有权,不承担相关法律责任。
THE END
喜欢就支持一下吧
分享
评论 抢沙发

请登录后发表评论

    暂无评论内容