2014-11-09 484 views
0

在asp.net 2.0网站上看到一个奇怪的问题。如果我登录到一个子域名然后进入主域名,单击主页上的任何链接都会导致网址日志中显示的链接网址以网址代码拒绝扫描错误,并以代字号开头。什么是这个问题?在子域上登录后被urlscan拒绝

+0

您需要找出代码中代码的创建位置,并更正代码以呈现绝对URL。 – 2014-11-09 02:53:32

+0

但是在主域链接中没有代字号。只有登录到子域后才会出现问题。所以登录以某种方式开始添加代字符。我现在将检查我的子域代码。同时,你能给出一个更具体的线索吗? – user173399 2014-11-09 03:09:33

回答

0

事实证明,这是一个UrlScan问题,在主机最近更新之后,开始拒绝任何带有特殊字符的查询。它仅在存在cookie时发生,因为某些cookie中的值具有特殊字符。

一旦我找到原因,我打算打开UrlScan中允许特殊字符的特殊标志。但是我无法在web.config中成功完成。它必须在IIS级别为每个网站完成。我正在辩论是否出于安全原因这样做。新的UrlScan功能的想法有助于阻止攻击。

同时,我添加了一些初始化代码来删除旧的cookie,并使用加密值重新创建它们,以避免遇到特殊字符。但即使初始化代码在某些情况下也无法运行,所以我也必须将它添加到最终的错误处理页面中进行自动恢复。

+0

我发现,只要在子域上创建任何cookie,在下次加载时就会破坏其相应路径的根路径解析。它只有在我删除cookie时才起作用。由于这个问题最近已经开始,现在似乎是一个虚拟主机问题。任何想法,如果一些IIS设置或web.config可以导致这个问题? – user173399 2014-11-09 15:28:49

相关问题