最近收到了很多这样的错误。我做了一些研究,发现这是因为在输入文本中检测到了html。这是否意味着有人试图破解我的网站?
我可以通过关闭页面验证来阻止这种情况发生,但这似乎不是一个好的解决方案。
以下是其中一个错误的一些信息:
HTTP_CONNECTION:keep-alive HTTP_ACCEPT:*/* HTTP_ACCEPT_ENCODING:gzip, deflate HTTP_ACCEPT_LANGUAGE:en-us HTTP_HOST:www.easymuaythai.com HTTP_REFERER:http://www.google.com/search?q=symbolic+tattoos&hl=en&client=safari&tbo=d&source=lnms&tbm=isch&ei=u5c1T8L-JfLYiAKRs5ixCg&sa=X&oi=mode_link&ct=mode&cd=2&ved=0CAkQ_AUoAQ&biw=1024&bih=622 HTTP_USER_AGENT:Mozilla/5.0 (iPad; CPU OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3
不知道这是否重要,但我的IIS中有一条规则可以防止图像热链接。
感谢。
答案 0 :(得分:2)
几天前,在处理ASP.NET 4.0 Web项目时,我遇到了一个问题。问题是,当用户将未编码的HTML内容输入评论文本框时,他/她得到类似以下错误消息: “从客户端检测到一个潜在危险的Request.Form值。”
这是因为.NET在输入的文本中检测到某些内容,看起来像HTML语句。然后我得到了一个链接请求验证,这是一个保护您的应用程序跨站点脚本攻击的功能,并相应地遵循。
要禁用请求验证,我将以下内容添加到该.aspx文件中的现有“page”指令中。
ValidateRequest="false"
但我仍然遇到同样的错误。
后来我发现,对于.NET 4,我们需要将requestValidationMode =“2.0”添加到web.config文件的httpRuntime配置部分,如下所示:
<httpRuntime requestValidationMode="2.0"/>
但是如果web.config文件中没有httpRuntime部分,那么这将进入<system.web>
部分。
如果有人想关闭全局用户的请求验证,请在以下部分的web.config文件中找到以下行:
<pages validateRequest="false" />
(source)
答案 1 :(得分:0)
首先,你在这里给出的字符串似乎是在谷歌图片上搜索两个单词(符号纹身)并最终到达你的网站。也许这是假的,但这些话与你的网站有关。
99.9%此次通话不是攻击。
现在asp.net默认处理可能用于脚本注入的每个输入,或者在页面上呈现任何内容。但是在你熟悉这个并且你知道你必须做什么之后你可以禁用它。
该怎么做:您可以阅读任何内容,但是如果您将它们放在URL上,则使用HtmlEncode或UrlEncode在页面上编写它们;如果您将此输入放在属性上,则可以使用属性编码。如果你在SQL上导入它们,那么也要注意使用参数进行sql查询。
图片热链接只是检查引用是否来自您的网站,我不认为这与此错误有关。然而,因为这是一个图像搜索,也许是点击这个谷歌图像,谷歌创建一个脚本,以显示上面的这个图像,这一些如何抛出错误...嗯可能要做...
我发现the link that you give is here以下是您的用户从上述参考资料中看到的内容。来自谷歌浏览器没有任何错误。
此链接可在上述参考链接中找到。
http://www.google.com/search?q=symbolic+tattoos&hl=en&client=safari&tbo=d&source=lnms&tbm=isch&ei=u5c1T8L-JfLYiAKRs5ixCg&sa=X&oi=mode_link&ct=mode&cd=2&ved=0CAkQ_AUoAQ&biw=1024&bih=622 HTTP_USER_AGENT:Mozilla / 5.0(iPad; CPU OS 5_0_1,如Mac OS X)AppleWebKit / 534.46(KHTML,类似Gecko)版本/ 5.1 Mobile / 9A405 Safari / 7534.48.3