我正在使用ASP.NET网站。该网站的用户将收到一封电子邮件,其中包含指向该网站的链接。链接看起来像这样:
https://<website>/Default.aspx?LC=<guid>
&#34; LC&#34;参数是他们的登录代码。 &#34; LC&#34;参数是我们放在链接上的 only 参数。它也可以在没有代码的情况下直接进入Default.aspx页面,并在提示符下键入一个。
问题出在这里:在极少数情况下(但自网站推出以来一直如此),我从Global.asax处理程序收到错误报告:
12:24:41 ERROR Global.asax - Application_Error - unhandled error:
System.Web.HttpException (0x80004005): A potentially dangerous Request.Path value was detected from the client (&).
at System.Web.HttpRequest.ValidateInputIfRequiredByConfig()
at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)
我不知道为什么我会继续收到这些消息。我已经尝试记录HttpContext.Current.Request.RawUrl以查看客户端使用的实际URL,但我得到的只是:
/&
和HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath报告为:
~/&
有什么方法可以记录&#34;真正的&#34;请求并查看此&符号的来源? LC参数值始终是GUID,因此它永远不会有一个&符号。此外,99%的网站用户似乎没有出现此问题。据我所知,这是由机器人或其他东西引起的,但如果它发生在真实用户身上,我想找出原因。