只要是网站开启注册功能,总是少不了各种垃圾虚假用户的骚扰,而我们肯定想要的是真实的正常的用户,虚假用户往往使用虚假邮箱注册,虚假邮箱一般有一个特点,就是邮箱特别的长,我们可以通过限制用户的注册邮箱长度,来一定程度上减少虚假低质用户。
正常用户一般邮箱长度都25个以下,下面这个25个就已经很长了
aaaaaaaaaaaaaaa@gmail.com
有的用户邮箱都到四五十个字符,正常人谁会设置这么长的邮箱啊,不用干别的了,光输入邮箱用户名就老半天了,所以我们可以限制用户邮箱长度最大30个字符,超过这个长度了就限制注册。有时候垃圾广告用户的用户名也特别长,我们可以同时限制注册用户的用户名字符长度。
可以将如下代码添加到主题functions.php中,实现网站限制用户注册邮箱地址和用户名字符过长
//限制用户注册邮箱和用户名的长度**************
function validate_email_username_length($errors, $sanitized_user_login, $user_email) {
$max_length = 19; // 用户名最大长度
if (strlen($user_email) > 30) {
$errors->add('email_length_error', __('邮箱地址过长!'));
}
if (strlen($sanitized_user_login) > $max_length) {
$errors->add('username_too_long', sprintf(__('用户名过长。', 'textdomain'), $max_length));
}
return $errors;
}
add_filter('registration_errors', 'validate_email_username_length', 10, 3);