前面介绍了 WordPress 安全第一步:防止用户名暴露,其实还有一个地方可能泄露用户名信息,在登录界面,暴力破解机器尝试使用用户名的时候,一些错误信息的提示,可能让暴露破解获得正确的用户名,这个属于安全隐患,需要处理。
默认情况下,在登录 WordPress 的时候,如果输入的用户名不存在,WordPress 会报「未知用户名」的错误:
如果用户名正确,密码错误的话,WordPress 会报「密码不正确」的错误:
这样是存在一定的安全隐患的,首先让暴力破解知道快速定位用户名,确定了用户名,只需要给他时间,就可以开始暴力破解了。
所以最好统一改成:「用户名或者密码错误」的错误信息,让猜去吧。
add_filter(‘wp_login_errors’, function($errors){
$error_code = $errors->get_error_code();
if(in_array($error_code, [‘invalid_username’, ‘invalid_email’, ‘incorrect_password’])){
$errors->remove($error_code);
$errors->add($error_code, ‘用户名或者密码错误。’);
}
return $errors;
});
还是那句话,安全是最重要的,所以一定要重视,隐藏错误信息,防止信息泄露是非常好的安全措施。
WPJAM 用户管理插件 已经集成该功能,直接启用即可,点击阅读原文查看 WPJAM 用户管理插件的详细介绍。