1.更新WordPress版本:定期以最新版本更新WordPress可以确保最新的安全修复和功能更新。可以通过WordPress仪表盘中的更新选项进行更新。
2.使用安全插件:可以使用WordPress安全插件来提高网站的安全性。其中一些插件包括iThemes Security、Wordfence Security和Sucuri Security。
3.使用强密码:使用强密码可以防止有人通过猜测破解登录凭据。可以使用包括大写、小写、数字和特殊字符的长密码来提高安全性。
4.禁止使用默认的“admin”用户名:默认的“admin”用户名为攻击者提供了一个便利的目标。为了提高安全性,应创建一个新的管理员帐户并删除默认的“admin”帐户。
5.限制登录尝试次数:使用插件或添加代码限制登录尝试的次数,可以防止暴力破解攻击。
6.启用两步验证:启用两步验证可以帮助确保只有授权用户才能访问管理员帐户。可以使用插件,如Google Authenticator - Two Factor Authentication,来实现两步验证。
代码示例:
限制登录尝试次数:
可以使用插件Limit Login Attempts Reloaded,在WordPress上设置尝试登录的最大次数和锁定时间,以限制暴力破解攻击。
如要使用代码限制登录尝试次数,可以添加以下代码到函数中:
function my_limit_login_attempts()
{
if (!is_admin()) {
return;
}
$max_attempts = 3;
$lockout_duration = 10 * MINUTE_IN_SECONDS;
if (isset($_COOKIE['my_login_attempts'])) {
$attempts = intval($_COOKIE['my_login_attempts']);
} else {
$attempts = 0;
}
if ($attempts >= $max_attempts) {
if (!isset($_COOKIE['my_login_lockout'])) {
setcookie('my_login_lockout', '1', time() + $lockout_duration, '/');
wp_die('登录失败次数过多,请稍后再试。');
} else {
wp_die('登录失败次数过多,请稍后再试。');
}
}
if (isset($_POST['log'])) {
$user = get_user_by('login', $_POST['log']);
if ($user && wp_check_password($_POST['pwd'], $user->data->user_pass, $user->ID)) {
setcookie('my_login_attempts', '', time() - YEAR_IN_SECONDS, '/');
} else {
setcookie('my_login_attempts', $attempts + 1, time() + MINUTE_IN_SECONDS, '/');
}
}
}
add_action('wp_login_failed', 'my_limit_login_attempts');
add_action('authenticate', 'my_limit_login_attempts', 99);