2
我正在为手机评论和信息设置基本网站。我不断收到这些虚假帐户在我的网站上注册并发布不合适的内容。避免机器人在您的网站上注册
我刚刚安装了CAPTCHA和形象CAPTCHA模块,但这似乎并没有被阻止他们。
什么是避免这些假账户的最佳方式?
谢谢。
我正在为手机评论和信息设置基本网站。我不断收到这些虚假帐户在我的网站上注册并发布不合适的内容。避免机器人在您的网站上注册
我刚刚安装了CAPTCHA和形象CAPTCHA模块,但这似乎并没有被阻止他们。
什么是避免这些假账户的最佳方式?
谢谢。
另一种策略是在用户注册表单中添加另一个字段。大多数机器人不知道哪些字段是必需的,所以他们填写所有内容。如果用户在新字段中输入值,则不要创建帐户。您可以使用CSS隐藏UI中的字段,这样真实的人将无法看到该字段并输入任何内容。详细解释请阅读Easy spam prevention using hidden forms。
要实现此功能为您的Drupal站点,你需要创建一个模块,以改变用户登记表,并为它创建一个验证。
另一个字段添加到用户登记表:
function mymodule_form_alter(&$form, $form_state, $form_id) {
if($form_id == 'user_register_form') {
$form['field_fname'] = array(
'#title' => 'Answer if you are a bot',
'#type' => 'textfield',
);
$form['#validate'][] = 'mymodule_user_bot_validate';
}
}
添加验证:
function mymodule_user_bot_validate($form, &$form_state) {
if($form['field_fname']['#value'] != '') {
form_set_error('bot_prevention', t('Could not create your account.'));
drupal_goto('user/register');
}
}
然后隐藏与CSS的领域。
有没有一个模块已经这样做? –
有一个称为[Profile 2](https://drupal.org/project/profile2)的模块,但它只在表单中添加其他字段。您仍然需要自己进行验证,所以我仍然建议您创建自定义模块。我提供的代码非常多。 – keenydev
谢谢。 6748485468 –