首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在登记表上创建蜜罐

在登记表上创建蜜罐
EN

Stack Overflow用户
提问于 2012-02-28 02:18:20
回答 3查看 2.3K关注 0票数 0

我正在尝试使用 gem来创建蜜罐字段,但我不知道如何实现它。表单如何知道要制作蜜罐的字段以及指定标签的位置?下面是我为该字段使用的代码,但是当我运行该应用程序时,表单看起来是可见的:

代码语言:javascript
复制
= form_for(:invitation, :url => request_invite_path, :html => {:id => 'login_form', :honeypot => true}) do |form|
      = form.text_field :email, :size => nil
      = form.text_field :honeypot #This field was created to store the honeypot input
      %button{:type => "submit"} Request Invite

这个蜜罐是使用在一个登记表,它只要求电子邮件地址,然后有额外的蜜罐字段是隐藏的。我目前有一个邀请服务,所以当人们输入他们的电子邮件,一个邀请被创建,我可以接受或拒绝它。我想要做的是摆脱邀请功能,但我认为我可以使用此邀请功能与蜜罐字段,以阻止机器人注册。

有没有办法让我跳过模型,仍然使用蜜罐字段接受或拒绝邀请?我实际上不需要存储蜜罐数据,但我需要使用它来决定是否应该接受邀请。

所以它应该是这样的:

  1. 用户获得登陆页面
  2. 用户看到由组成的注册表单
    1. 电子邮件地址输入框
    2. 隐藏的蜜罐田

  1. 如果一个机器人注册,它将填写蜜罐,所以当邀请被创建时,我可以自动接受那些没有填写蜜罐的,而那些没有填写的则会被拒绝。

还有一件事,我如何测试蜜罐领域,看看它是否工作?我想填写它,看看我的代码是否在做它应该做的事情。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-05 01:36:11

据我所知,你有一个登陆页面,用户必须输入一封电子邮件,还有一个蜜罐来过滤机器人。

  1. 如果您使用的是宝石,您将看到您不需要将蜜罐字段添加到表单中。当您在html选项中使用:honeypot => true实现它时,它会自动创建一个隐藏的文本字段,并为可访问性设置适当的标签。
  2. 如果您使用蜜罐过滤机器人,当机器人向控制器提交表单并同时填写电子邮件和蜜罐时,只需添加一个before_filter :protect_from_spam。如果您想在该函数中执行任何特殊操作,也可以在控制器中覆盖它的默认值。
  3. 您可以通过检查浏览器中的元素(例如火狐上的Firebug )来测试它,只需将蜜罐的css display:从none更改为内联即可。这样,您就可以填写该字段,并查看在不实际更改代码的情况下所发生的事情。
票数 0
EN

Stack Overflow用户

发布于 2012-02-29 05:59:37

很抱歉你不理解我之前的回答,我会改换词组的

据我所知,你有一个登陆页面,用户必须输入一封电子邮件,还有一个蜜罐来过滤机器人。

  1. 如果您使用的是宝石,您将看到您不需要将蜜罐字段添加到表单中。(我不太明白用宝石来做这件事的目的,但无论如何。)
  2. 当您向表单中添加文本字段并希望它不可见时,您需要自己使其不可见(这就是文本字段的工作方式)。
  3. 如果您使用蜜罐过滤机器人,当机器人向控制器提交表单并同时填写电子邮件和蜜罐时,您只需添加一个before_filter :check_honeypot,然后在该函数中检查蜜罐字段是否为空,如果不是,那么您有一个机器人,对吗?所以自动拒绝它
票数 1
EN

Stack Overflow用户

发布于 2013-01-03 06:07:35

关于客户端和服务器端蜜罐教程使用Honeypot的机器人的安全表单和注释,请参阅此教程

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9475464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档