如何检测恶意脚本并防止注册?

时间:2011-07-08 08:30:26

标签: forms registration detection

今天只是一个关于阻止脚本在我的网站上注册的一般性问题。

我为不同的服务提供了五种不同的注册表格,并认识到虚假注册的显着增长。这些注册显然是由脚本执行的。这就是为什么我正在寻找检测表单中脚本的机制,而不是阻止它们注册到我的网站。

所有表单都是用Java编写的,所以我使用JSP作为前端。使用验证码不是一种选择,而有很好的OCR技术可以破解它们。我的表单基本上由5个输入字段组成,其中包含有效地址和电子邮件的验证。但如果一个脚本使用标准地址(例如Springfield,10 Mean St)和一个像yxz123@gmail.com这样的电子邮件地址,那么就有可能成功。

已知技术

  • 填写所有领域的时间:每个人至少需要30秒。用不到30秒的时间填写所有内容。是一个脚本
  • 隐藏表单字段:标准脚本扫描网站上的表单字段并向其中发布一些垃圾,人类永远不会填写隐藏表单字段中的值,脚本会执行此操作

脚本检测的更多可能性?

这些技术不是保存并且只标记脚本的另一个障碍。但是有进一步的技术来检测和避免脚本吗?

我非常期待您经验丰富且富有创意的答案。 :)

非常感谢。

2 个答案:

答案 0 :(得分:1)

使用某种形式的验证码让用户烦恼是唯一的方法,imo。

  

填写所有领域的时间:每一个   人类需要至少30秒

那么什么阻止脚本放慢速度呢?

  

隐藏表单字段:标准脚本   扫描网站以获取表单字段和   把一些垃圾贴在他们身上,一个人   永远不会填写价值观   隐藏的表单字段,脚本可以做   此

如果脚本编写者有时间和技巧使用OCR,我认为他可以设法避免填充隐藏字段。

使用验证码。不要使用标准的,使用像3 * 7 = ??之类的东西或类似的东西。

答案 1 :(得分:1)

我使用了一个使用户点击一个破碎的圆圈的容量。而该页面上还有其他完整的圆圈。 我只需一次验证。

您也可以让他们点击具有特定颜色的生物圈