微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – 正在生成无效的Webresource.axd参数

原始问题:

我们对WebResource.axd网址生成一个奇怪的错误. (它似乎与相当常见的“WebRsource.axd Padding无效,无法删除”相关).

我们有一个ASP.NET网页,当创建时,向WebResource.axd添加一个脚本引用.

在这种情况下,我们看到WebResource.axd链接有时会变成一个垃圾,通过一些特定的东西,由什么看起来像javascript.更糟糕的是,网址生成失败似乎是不一致的.

在我们的例子中,链接应该(通常是这样):

/WebResource.axd?d=D-wd7RbHCvSp_p0mHAmE4g2&t=633464867255568315

一切都好,好.但是,我们正在从用户记录错误…并且他们尝试访问的URL看起来像(在一种情况下):

/WebResource.axd?d=D-wd7RbHCvS/../../images/icons/Ico_resize.gif')}}function%20ShowFilter_Manufacturer(){var%20div.......

[来自该链接的其余编码的JavaScript已被删除为无关]

陌生人,我们从同一个用户迅速连续地得到了其中的一些,显然是试图重新加载页面…每个url略有不同.

/WebResource.axd?d=D-wd7RbHCvS<garbage>
/WebResource.axd?d=D-wd7RbHCvSp<garbage>
/WebResource.axd?d=D-wd7RbHCvSp_<garbage>

在某些情况下,垃圾编码为JavaScript,我已经看到一些url的部分…完全是空的参数字符串…我没有看到明显的模式.

除此之外,应该注意的是,我不相信这个WebResource是一个除了WebResource之外的任何东西,.NET自动包含在某些页面上的某些功能的情况下…在这种情况下,一个字段验证器.查看实际WebResource.axd的内容,揭示了非常标准的JavaScript函数,它们似乎旨在处理通用的.NET事件.不是我们创造的任何东西

有没有人看到这样的东西? (或者更好,有人明白为什么会发生这种情况,并提出一种消除它的方法?)

编辑0:一些其他信息:

项目1:针对一​​个答案,我们确保我们的脚本被CDATA标签封装,因为我们的doctype是xhtml过渡的:

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

不幸的是,尽管我们寄予厚望,但似乎并没有解决问题.我们已经注意到IE 8更像是浏览器,这可能会使浏览器相关的观点有所体现 – 也许浏览器解析流的方式…但是为什么我们会得到微妙的不同的响应随后的尝试使我失望.

项目2:
事实证明,省略的部分似乎是相当规则的块的块.有人报告说,他看到1k或4k块丢失,我(迄今为止我只看过两个案例)将同意(我的都丢失了4096个字节的数据).

解决方法

根据这篇文章

http://bytes.com/topic/asp-net/answers/861764-invalid-viewstate-system-string-decryptstringwithiv

似乎问题是由于浏览器在没有指定doctype的情况下以不同的方式呈现页面造成的.

这是另一个有趣的帖子,我发现这个问题,仍然不是解决方案:

http://blog.aproductofsociety.org/?p=11

在上面的页面上,它具有“Response.Cache.SetNoStore()”作为注释中的一个可能的解决方案,我会尝试下面看看它是否有帮助.

原文地址:https://www.jb51.cc/aspnet/250610.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐