将验证码添加到drupal 7实体表单中

时间:2013-10-07 14:54:40

标签: drupal-7 drupal-modules captcha

我需要在drupal 7中使用entityforms创建的表单中添加验证码。我找不到有关如何执行此操作的任何信息。谁能告诉我这是怎么做到的?

4 个答案:

答案 0 :(得分:1)

试试这个模块它会起作用......

https://drupal.org/project/captcha

答案 1 :(得分:1)

  1. 安装模块https://drupal.org/project/captcha
  2. 转到实体表格。
  3. 在firebug视图表单源上。并从字段中复制值:<input type="hidden" name="form_id" value="contact_entityform_edit_form">
  4. 从早期复制值转到/ admin / config / people / captcha和FORM_ID。

答案 2 :(得分:0)

另一个有用的模块是Spamicide模块。

  

Spamicide为每个表单添加一个输入字段,然后用css隐藏它,当垃圾邮件机器人填写该字段时,表单将被丢弃。

您可以在Drupal中的每个表单上启用此功能。

答案 3 :(得分:0)

将一个CAPTCHA添加到Drupal中的Entityform Type

  1. 安装或启用提交的Captcha模块。

  2. 确定要将CAPTCHA添加到的实体形式类型:

    管理员&gt; <结构>实体形式类型
    admin/structure/entityform_types

  3. 从实体形式类型列表中,复制实体形式类型的机器名称(例如contact_us)。

  4. 配置验证码模块:

    管理员&gt;配置&gt;人&gt; CAPTCHA
    admin/config/people/captcha

  5. 在表单保护字段集中,将实体表单类型的计算机名* 添加为表单ID值。

      

    *注意:Captcha模块预期的表单ID是附加了文本字符串_entityform_edit_form的Entityform Type计算机名称。

         

    例如,如果您的Entityform Type计算机名称为contact_us,则完整的表单ID将为contact_us_entityform_edit_form

    您可以通过查看Entityform类型的HTML源并交叉引用表单的ID属性来验证这一点:

    <form class="entityform" id="contact-us-entityform-edit-form" ...>

    请记住,实际值的连字符替换为下划线,这在Drupal中很常见。

  6. 选择适当的挑战类型或使用默认值。

  7. 保存验证码配置更改。

  8. 要验证CAPTCHA是否已成功添加,请打开隐私浏览会话(例如Chrome Incognito窗口)并查看Entityform类型,或者只是在退出Drupal时查看表单。