2013-11-04 73 views
2

我正在爲手機評論和信息設置基本網站。我不斷收到這些虛假帳戶在我的網站上註冊併發布不合適的內容。避免機器人在您的網站上註冊

我剛剛安裝了CAPTCHA和形象CAPTCHA模塊,但這似乎並沒有被阻止他們。

什麼是避免這些假賬戶的最佳方式?

謝謝。

回答

1

另一種策略是在用戶註冊表單中添加另一個字段。大多數機器人不知道哪些字段是必需的,所以他們填寫所有內容。如果用戶在新字段中輸入值,則不要創建帳戶。您可以使用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的領域。

+0

有沒有一個模塊已經這樣做? –

+1

有一個稱爲[Profile 2](https://drupal.org/project/profile2)的模塊,但它只在表單中添加其他字段。您仍然需要自己進行驗證,所以我仍然建議您創建自定義模塊。我提供的代碼非常多。 – keenydev

+0

謝謝。 6748485468 –