2

我正在为手机评论和信息建立一个基本站点。我不断让这些虚假帐户在我的网站上注册和发布不合适的内容。

我刚刚安装了 CAPTCHA 和图像 CAPTCHA 模块,但这似乎并没有阻止它们。

避免这些虚假帐户的最佳方法是什么?

谢谢你。

4

1 回答 1

1

另一种策略是在用户注册表单中添加另一个字段。大多数机器人不知道需要哪些字段,所以他们填写所有内容。如果用户在新字段中输入值,则不要创建帐户。您可以使用 CSS 从 UI 中隐藏该字段,这样真人将无法看到该字段并在其中输入任何内容。阅读使用隐藏表单轻松防止垃圾邮件以获取详细说明。

要在您的 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 隐藏该字段。

于 2013-11-06T02:40:21.083 回答