博客园 首页 联系 订阅 管理
 
2008-03-01 22:01

十九.NoBot

拒绝机器人自动提交程序的控件

本人感觉不实用,不如图片验证系统.

 

NoBot属性说明

NoBot控件在页面中是完全不可见的。不过从增强用户体验的角度来看,NoBot却的确是一大进步,它也正符合了Ajax的最根本设计目标——提高用户体验。

声明NoBot控件的语法将类似如下所示:

<ajaxToolkit:NoBot

    ID="noBot"

    runat="server"

    ResponseMinimumDelaySeconds="2"

    CutoffWindowSeconds="60"

    CutoffMaximumInstances="5"

    OnGenerateChallengeAndResponse="noBot_GenerateChallengeAndResponse" />

  1. ResponseMinimumDelaySeconds一个合理的客户端从开始接受页面到提交表单的时间间隔,单位为秒。在该时间段之内的提交将被认为是机器人所为。
  2. CutoffWindowSeconds:指定一个统计同一客户端提交次数的窗口时间段,单位为秒。在该时间段之内的提交次数超过CutoffMaximumInstances所指定的值将被认为是机器人所为。
  3. CutoffMaximumInstances:指定在窗口时间段内同一客户端最多的提交次数。在CutoffWindowSeconds所指定的时间段之内的提交次数超过该值将被认为是机器人所为。
  4. OnGenerateChallengeAndResponse:指定GenerateChallengeAndResponse事件的处理函数。在该事件处理函数中我们可以设定强制浏览器执行的一段JavaScript以及其预期的执行结果。若浏览器的执行结果和预期结果不符,则本次提交将被认为是机器人所为
posted on 2009-01-01 14:09  jason618  阅读(211)  评论(0编辑  收藏  举报