2009-08-06 83 views
1

我有一个网站,一直工作得很好。最近,任何以querystring('GET')形式传递的表单,其中包含单词“SELECT”,“FROM”和“WHERE”,会导致页面挂起,并最终出现“Page not found ...”错误。它看起来像只发生在IE浏览器,而不是Firefox,但已被确认使用多个客户端。另外,它只发生在一台服务器上......如果我将同一个测试脚本复制到另一台服务器上,没问题。单词不必从表单中传递,它们也可以仅作为查询字符串来使用。IE浏览器 - 某些查询字符串挂起页面

因此,例如,

http://www.problemserver.com/qsfails.asp?q=select+from+where

失败表现出的问题,在服务器上。事实上,如果我用不存在的页面名称替换'qsfails.asp',页面加载仍会挂起并等待,直到它超时,而尝试加载不存在但不包含查询字符串的页面会立即获得“页面未找到...“错误。

服务器是否被破坏?托管公司声称不是。有没有人遇到过这个?想法或建议?

谢谢!

+0

你确定它是一个浏览器问题,而不是你使用查询字符串进行的任何处理吗? – Jason 2009-08-06 17:01:12

+0

另外,你可能会发布一个链接或一些代码? – Jason 2009-08-06 17:01:44

+0

在Fiddler(www.fiddler2.com)中观看您的流量,并确保服务器实际上正在返回内容。 – EricLaw 2009-08-07 01:29:02

回答

2

我认为您的虚拟主机正在运行通用筛选器以防止SQL注入攻击,如UrlScan。 IIS和Apache有几种这样的工具。这会阻止您的网站看到或处理请求。

奇怪的是,他们不会在你的问题后提到类似的东西。与他们一起检查。

0

结果Thorarin是正确的。

我曾问过安全过滤,但被告知没有。我再次问,仍然被告知“不”,托管公司认为这是一个路由问题(这对我来说没有意义,但我知道什么)。

但是,他们必须已经把它踢了起来,因为他们已经安装了一个过滤器,这是问题所在。顾客不仅不知道,甚至连他们的第一对技术支持都不知道。哎呀。

感谢Thorarin。