我有一个表单,任何人都可以填写有关某些内容的评论,此表单不在登录区域内。
在越来越多的机器人试图输入垃圾邮件后,我开始使用验证码。 现在的问题是,某种机器人并没有放弃。我每天都会收到大量异常电子邮件,因为机器人试图输入“危险”数据而.NET不允许这样做,因为请求已经过验证。 验证码根本没用,因为它甚至不需要填写以试图发布会导致异常的帖子。机器人似乎并不理解它每次都会失败。
昨天我尝试更改文本框的名称,并添加了“蜜罐”。但它与验证码相同的问题,在实际发布到后面的代码之前发生异常。
我是否真的必须设置ValidateRequest =“false”以使机器人更进一步并可能停止发出请求?
非常感谢所有想法。
答案 0 :(得分:1)
你可以:
我认为你可能必须将2结合起来才能使其发挥作用。
protected void Page_Error(object sender, EventArgs e)
{
Exception oops = Server.GetLastError();
if(oops.GetBaseException() is System.Web.HttpRequestValidationException)
{
System.Diagnostics.Debug.Assert(false);
}
}
答案 1 :(得分:0)
也许机器人非常愚蠢。而不是在HTML中的那个表单框用javascript加密它。这可能会使机器人充分混淆。