3

我有一个实时站点,其中记录了每个错误并通过电子邮件发送给我。

我收到很多“填充无效且无法删除”。对 WebResource.axd 的请求出错。仔细一看,这个请求是错误的。

这是有问题的请求:

/webresource.axd?d=mgqvdy8omlq71j1set2ida2&ampt=633700045603820000

这就是它的外观:

/WebResource.axd?d=MgQvdy8OmLQ71j1SET2IdA2&t=633700045603820000

注意缺少大写,更重要的是缺少 ; 之后&。

用户代理是这样的:

UA: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)

这可能是什么?
一个真实的、实际的用户会因此而出错吗?
这是 IE 实际上可能做错的事情吗?
或者这只是一个写得不好的机器人?

这种情况时有发生,绝对不会发生在我们所有的用户身上,甚至不会发生在我们所有的 IE 用户身上。


更新:我也收到很多“Base-64 字符串中的无效字符”。发布表单时,也仅来自 IE 6.0,所以我猜它们是相关的。

谢谢你的帮助!
丹尼尔

4

7 回答 7

2

我们在 ScriptResource.axd 和 Invalid Viewstate 异常中看到了类似的错误。最后我找到了这个帖子:

  1. 错误:/ScriptResource.axd:无效的视图状态。

这表明 IE(可能还有其他浏览器)中存在错误,其中无效的 XHTML DOCTYPE 会导致浏览器对 ScriptResource.axd 发出不正确的请求。我们通过将 XHTML DOCTYPE 更改为 HTML5 doctype 并从 html 标记中删除 xmlns 属性解决了这个问题。无论如何,我们的页面都不符合 XHTML。

从:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >

至:

<!DOCTYPE html>
<html>
于 2009-10-20T08:59:00.540 回答
1

只是在这里猜测,但是当我使用 IIS 7 运行某些站点时,我遇到了一个类似的问题,即删除/替换了特殊字符。原来是 IIS 的“安全功能”——它的规则在“urlscan.ini”中。也许这会有所帮助。

于 2009-10-19T06:07:58.237 回答
1

如果您已经在 web.config 中设置了固定的 MachineKey,那么这个问题很可能是代理弄乱了请求。我们的一些 IE6 用户也得到了它,而且我还看到了代理在哪里变成 & 和 & 在查询字符串中(这是不正确的)。

于 2009-10-19T01:51:48.237 回答
0

你可以检查:

-doctype(它与您发送的数据匹配吗?IE6 很挑剔)

-字符集

于 2009-10-20T20:59:52.160 回答
0

由于这是半​​随机的,本博文中的第二个选项可能会有所帮助。

于 2009-10-15T14:57:45.733 回答
0

由于 URL 似乎被操纵,它看起来像是代理软件中的一个错误。也许您可以在请求的 IP 范围中找到模式来识别某些代理或 ISP。

但是,这并不能真正解释恒定的 IE6 UserAgent(除非代理也搞砸了)。它可能是众多 IE 错误之一(例如 gzip 问题、丢失 4k 错误等),但这些错误通常不仅仅是小写 URL 和删除一个字符。您可以暂时关闭 gzip 以查看它是否有任何效果。

是一个症状相似的问题,我的回答包括一些 IE 错误的链接。

于 2009-10-18T08:51:56.173 回答
0

您可以尝试在 web.config 文件中设置固定的 machineKey。为此,您可以使用machineKey 生成器或生成您自己的:

<system.web>
    <machineKey
        validationKey='SOME KEY'
        decryptionKey='OTHER KEY'
        validation='SHA1'/>
</system.web>
于 2009-10-18T09:06:31.300 回答