我刚刚在错误日志中发现了这两个条目:
Date: 2012-02-09 11:33:46.693
PageUrl: http://thebusinessbook.com/SalfordComamp;tbo=1&q=related:http:/www.barnesandnoble.com/c/city-of-salford-commun2onmousedown=return
Error: A potentially dangerous Request.Path value was detected from the client (&).
UrlReferrer: http://www.salford.gov.uk/contact-socialservices.htm
UserAgent: Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)
UserHostAddress: 217.155.37.153 UserHostName: 217.155.37.153
Date: 2012-02-09 11:33:41.027
PageUrl: http://thebusinessbook.com/SalfordComamp;tbo=1&q=related:http:/www.barnesandnoble.com/c/city-of-salford-commun2munitySocialServices
Error: A potentially dangerous Request.Path value was detected from the client (&).
UrlReferrer: http://www.salford.gov.uk/contact-socialservices.htm
UserAgent: Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)
UserHostAddress: 217.155.37.153 UserHostName: 217.155.37.153
&
发生此错误是因为URL 中有一个字符没有前面的字符?
来标记查询字符串。
我不明白的是 URL 引用者。列出的页面来自英国政府网站。我的网站与他们没有任何关系,页面上也没有任何指向我网站的链接。我读到过,垃圾邮件发送者有时会使用不真实的 UrlReferrer 标头,但我不明白为什么政府网站会与此有关。
是什么原因导致的这种情况?网站脚本有问题.gov
、用户愚蠢、还是我的错?
我是否应该采取一些措施来解决这个问题,或者只是忽略它?
答案1
我会检查这些尝试发生时的日志,看看是否能找到任何其他奇怪的请求,这些请求可能表明有人在“模糊测试”你的应用程序或以其他方式攻击你。可能没什么,但值得仔细检查日志以查看。
最终,我只是忽略了 Referer,并假设日志没有揭示任何攻击模式,将其归咎于别人机器上的一些损坏的代码。
Referer 标头中可以包含任何内容,因此应将其视为完全不受信任。如果您的应用程序以某种方式使用 Referer 值,我会仔细检查您是否正确将其视为不受信任,如果您在数据库查询等中使用它,则请确保正确对其进行了清理并转义了元字符。