3


对不起我的英语不好。
我有一个奇怪的问题。当用户点击 adword 链接时,谷歌会写这样的跟踪 cookie 1813234232.1302674912.30.51.utmgclid=CcgezrsXjagCFcs-zAod_h2oCQ|utmccn=(not set)|utmcmd=(not set)|utmctr= CAA:89 AB0=40@B%20>:
在关键字部分(utmctr)中有错误的括号,这会导致请求验证异常
A potentially dangerous Request.Cookies value was detected from the client (__utmz="...0=40@B%20> at System.Web.HttpRequest.ValidateCookieCollection(HttpCookieCollection cc)

有没有办法在不关闭请求验证的情况下解决这个问题?

编辑后 我可能找到了明显的解决方案:编写自己的请求验证模块http://jefferytay.wordpress.com/2010/04/15/creating-your-own-custom-request-validation/

4

1 回答 1

0

默认情况下,asp.net 验证并检查数据是否存在潜在攻击。

validateRequest="false"您可以通过在页面上设置 ether 来禁用此自动验证

<%@ Page validateRequest="false" %>

影响所有页面的 web.config 上的 ether。

<configuration>
  <system.web>
    <pages validateRequest="false" />
  </system.web>
</configuration>

唯一需要您自己检查的想法是,是否有人在您的输入中输入了任何脚本数据。当您在页面上呈现它们以及在数据库中输入它们时,您的输入需要检查。

于 2011-04-08T16:05:01.203 回答