最近刚启用ripro主题,发现一天几百个注册会员,后来方发现都是注册机操作,查看后台日志,发现该IP地址利用了wp-login.php这个wordpress原生注册登录页面,主题对这个页面没进行处理。
测试了一下,通过这个页面可以任意进行注册,只要输入用户名和邮箱,点击注册,wordpress后台就会提示你注册成功,直接绕过了验证码,而且邮箱地址还可以任意虚构,恶意用户只要编写一个python脚本很轻松就可以无限注册用户对网站进行攻击。
一般情况下个人博客网址都直接关闭了注册功能,因此不存在非管理员访问后台的问题。但如果你使用WordPress开发了多用户功能,通常已经采用自定义的表单和用户面板来替代了WordPress的后台用户面板,这时候可能要考虑禁止用户访问WordPress管理后台了,具体代码如下,添加都主题functions.php即可。
// 禁止非管理员登录后台
add_action('admin_init', 'redirect_non_admin_users');
function redirect_non_admin_users() {
if (!is_super_admin() && empty($_REQUEST)) {
wp_redirect(home_url('?from=wp-admin'));
exit;
}
}
// 移除原生登录注册
add_action('login_head', 'redirect_login_form_register');
function redirect_login_form_register() {
wp_redirect(home_url('?from=wp-admin'));
exit(); // always call `exit()` after `wp_redirect`
}
还没有评论呢,快来抢沙发~