AjaxControlToolkit NoBotState 始终为 InvalidBadResponse

2024-03-01

我正在尝试实现 AjaxControlToolkit NoBot 但我总是得到 falseIsValid()方法(状态值始终为无效不良响应)。我在这里错过了什么吗?

ASCX 代码:

// buttons, textboxes etc.
<asp:NoBot ID="NoBot1" 
           runat="server"             
           CutoffMaximumInstances="5" 
           CutoffWindowSeconds="60" 
           ResponseMinimumDelaySeconds="2"
           />

背后代码:

protected void Button1_Click(object sender, EventArgs e)
{
    AjaxControlToolkit.NoBotState state;

    if (!NoBot1.IsValid(out state))
    {
        Page page = HttpContext.Current.Handler as Page;
        ScriptManager.RegisterStartupScript(page, page.GetType(), "err_msg", "alert('" + " BOT " + "');", true);
    }
     else
    { ...}
}

更奇怪的是:我输入登录数据并单击 asp 按钮。 NoBot 状态为InvalidBadResponse它失败了。但是,然后我单击浏览器的刷新按钮,它要求我重新发送请求,我说“好吧”,现在状态有效!为什么?


据我所知,你会得到“的唯一原因”无效不良响应“ 来自NoBot控制是您的浏览器中是否禁用了 javascript。这文档页 http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/NoBot/NoBot.aspx指出所使用的技术之一NoBot is

强制客户端浏览器执行可配置的 JavaScript 计算并验证结果作为回发的一部分。 (例如: 计算可能是简单的数值计算,也可能涉及到 DOM 以进一步确保涉及浏览器)

An "无效不良响应" 消息意味着 javascript 没有被执行(也来自上面的链接):

无效的错误响应:对挑战提供了无效的响应 提示挑战脚本未运行

我会仔细检查您的浏览器设置。我已经通过在浏览器中禁用 javascript(只是为了确保)并尝试文档页面上的示例来对此进行了测试。

您可以使用自定义计算OnGenerateChallengeAndResponse属性来指定事件处理程序。我实现一个这样的事件处理程序的一个很好的例子是(代码归功于这个帖子 http://jlchereau.blogspot.com/2007/10/ajax-control-toolkit-nobot-control-and.html):

protected void PageNoBot_GenerateChallengeAndResponse(object sender, AjaxControlToolkit.NoBotEventArgs e)
{
    Random r = new
    Random();

    int iFirst = r.Next(100);

    int iSecond = r.Next(100);
    e.ChallengeScript = String.Format("eval('{0}+{1}')", iFirst, iSecond);
    e.RequiredResponse = Convert.ToString(iFirst + iSecond);  
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AjaxControlToolkit NoBotState 始终为 InvalidBadResponse 的相关文章

随机推荐

  • matplotlib 中 Poly3DCollection 图的透明度

    我正在尝试使用 Python 的神奇 Matplotlib 包绘制一些对象 这些对象由实现的点组成plt scatter 和补丁实现Poly3DCollection 我希望补丁具有轻微的透明度 以便可以看到补丁后面的点和边缘 这是我已经生成
  • Spring 3 MVC Controller集成测试-将Principal注入到方法中

    作为 Spring 3 MVC 的一部分 可以将当前登录的用户 原理 对象注入到控制器方法中 E g Controller public class MyController RequestMapping value update meth
  • Linux、waitpid、WNOHANG、子进程、僵尸

    我作为守护进程运行我的程序 父进程只等待子进程 当子进程意外死亡时 再次fork并等待 for 1 if fork 0 break int sig 0 for 1 usleep 10000 pid t wpid waitpid g gt p
  • 如何在自定义 XML 序列化方法中使用默认 XML 序列化

    我在 NET 中有一个实现 IXmlSerialized 的类 我想序列化它的属性 但它们可能是复杂的类型 这些复杂类型与 XML 序列化兼容 但它们本身不实现 IXmlSerialized 从我的 ReadXml 和 WriteXml 方
  • Java 小程序未在 Java8/HTTPS 上加载

    我有 Java 小程序 使用 HTTPS 时不会运行 在本地主机上测试时一切正常 此外 使用仅使用 HTTP 的测试服务器一切正常 在服务器仅使用 HTTPS 的生产模式下 会出现此问题 引起我注意的一件事是 http www exampl
  • 具有两个系列的 R ggplot:带有图例的点和误差条

    如果我有一个像这样的数据框 obs lt rnorm 20 d lt data frame year 2000 2019 obs obs pred obs rnorm 20 1 d pup lt d pred 5 d plow lt d p
  • 在 F# 中使用关键字作为标识符

    在 C 中 我可以执行以下操作 int private 15 在 VB NET 中 我可以执行以下操作 Dim Private As Integer 15 我想知道 F 中是否有办法使用保留关键字作为标识符 就像 VB NET 和 C 中那
  • 我应该了解有关 z-index 的任何奇怪规则吗?

    抱歉 我无法发布完整的代码 我正在研究专有的东西 基本上 我遇到一个问题 即 z 索引为 6 的 DIV 被 z 索引为 5 的覆盖 DIV 阻塞 是否有任何情况会导致这种情况发生 我正在绞尽脑汁试图找出为什么会发生这种情况 这根本没有任何
  • 两个字符之间的可变长度子字符串

    数据如下 Initiative Credible Sources Initiative Just in Time Initiative Database Normalization 我希望它看起来像这样 Credible Sources J
  • 如何标记 pandas DataFrame 中的最后一个重复元素

    如你所知 有一种方法 duplicated查找列中的重复项 但我需要的是知道我的数据按日期排序的最后一个重复元素 这是预期的结果Last dup对于列Policy id Id Policy id Start Date Last dup 0
  • IE9,使用 CertEnroll.dll 时自动化服务器无法创建对象错误

    在我的网页中 有一个JS像这样的块 var classFactory new ActiveXObject X509Enrollment CX509EnrollmentWebClassFactory Other initialize Cert
  • Tkinter 按钮动画

    我一直在使用 tkinter 编写一段简单的 python 3 4 代码 它是 D D 的骰子滚轮 它有用于所有基本骰子的按钮 还有一个允许您输入骰子面数的按钮 我的布局方式让我想起了键盘 所以我想我应该添加一些东西 让你可以通过按下按钮来
  • Delphi - 获取Windows的默认非unicode字符集

    我有一个 Delphi 7 应用程序 我需要能够获取非 unicode 程序的默认 Windows 字符集 我知道 DEFAULT CHARSET 设置了它 但我需要确切地知道它是什么字符集 以便我可以将它与其他字符集进行比较 这可能吗 如
  • WinForm和uwp如何进行两个方向的通信

    WinForm和uwp如何双向通信 我用的是MQTT 缺点是当发送的数据量比较大时 会有很严重的延迟 也尝试了socket模式 但是WinForm无法连接uwp 请哪位朋友帮帮我 谢谢 来自文件注释 https learn microsof
  • IE 兼容模式:“X-UA-Compatible”标签“Edge”

    我有这个在 它将强制 IE 使用最新的渲染模式 但兼容模式是否被认为是最后一种 我的意思是 例如 在 IE8 上使用此代码 它会强制它使用 IE8 或 IE8 兼容模式 该标签将尝试强制浏览器使用浏览器支持的最新渲染模式 它不会触发兼容模式
  • SSH 窗口大小对 paramiko 有何影响

    我正在构建一个应用程序 它可以通过 SSH 连接到 Cisco 设备来收集show命令 我正在 python 中使用 paramiko 模块来完成此任务 将命令输出与plink 知道 paramiko 的输出被截断了 尝试取消缓冲并增加缓冲
  • 将菜单下拉菜单移至左侧

    我的顶部菜单带有下拉导航 子菜单 下拉菜单位于主菜单的右侧 css ul dropdown ul width 220px visibility hidden position absolute top 100 left 0 如何将最后一个菜
  • R data.table 在多个条件下进行子集化。

    使用以下数据集 如何编写 data table 调用来对该表进行子集化 并返回该客户的所有客户 ID 和关联订单 如果该客户曾经购买过 SKU 1 预期结果应返回一个表 其中排除该条件下的 cid 3 和 5 以及匹配 sku 1 的客户的
  • STDIN 或文件作为 Hadoop 环境中的映射器输入?

    因为我们需要将一堆文件读入映射器 在非 Hadoop 中 环境 我用的os walk dir and file open path mode 读入 每个文件 然而 在 Hadoop 环境中 当我读到 HadoopStreaming 转换 将
  • AjaxControlToolkit NoBotState 始终为 InvalidBadResponse

    我正在尝试实现 AjaxControlToolkit NoBot 但我总是得到 falseIsValid 方法 状态值始终为无效不良响应 我在这里错过了什么吗 ASCX 代码 buttons textboxes etc