gpt4 book ai didi

xml - 不同的 IE XML/XSL 行为在相同的 View 和浏览器版本中,但具有不同的域用户帐户

转载 作者:数据小太阳 更新时间:2023-10-29 02:46:20 26 4
gpt4 key购买 nike

我们的一位用户在尝试访问我们的 Web 应用程序的 View 之一时遇到问题(IE9;行为在 6、8 和 9 中显示一致,但在域帐户中不一致)。对于这个特定用户的 Windows 域帐户,无论使用什么凭据访问我们的应用程序,或者使用哪台机器的浏览器;尝试访问某些 View 会导致 IE 显示错误消息“样式表不包含文档元素。样式表可能为空,或者它可能不是格式正确的 XML 文档。”

其他域帐户无法重现此错误,当我们使用 VPN 并使用我们自己的浏览器时,我们也无法重现此错误,尽管遵循完全相同的过程,具有完全相同的应用程序凭据、域帐户的相同权限和组成员资格、匹配版本IE9(也使用 8 和 6 进行了测试)。我们有大约 50 个不同的客户使用此版本的应用程序,没有出现此类问题。

webapp 日志中没有任何内容可以说明这一点;成功和失败案例的请求和响应完全相同。

手动将请求附加到浏览器地址栏中的 URL 会导致 IE 呈现我们期望的 XML 响应。从浏览器请求返回的 XML,在失败和成功的情况下,看起来都是格式正确的。

有问题的 Web 应用程序在出现此错误之前的一段时间内一直处于静态状态。客户的 IT 组织已验证可以重现错误的域帐户和不能重现错误的域帐户之间的权限和组成员身份是相同的。

有什么建议吗? OLE 或 ODBC 驱动程序设置是否会影响域帐户级别的 XML 解析?对于同一域帐户,Internet Explorer 是否会在不同计算机上同样受到影响,同时具有与无法重现此行为的帐户相同的组成员身份和权限?

在清除浏览器中除下载历史记录和密码之外的所有内容后,我能够间歇性地让问题域帐户正确显示页面,但这是少数时间,并且在几次请求之后(通常是第一个)虽然)显示错误消息。

最佳答案

ACCEPT header 在页面缓存或引用更新时发生变化,显然该域没有文档的权限。结果,样式表的 MIME 类型从 application/xmltext/xsl 更改为 *.*text/html。解决方案是检查 ACCEPT header并防止缓存或重定向错误的请求:

# Skip Opera
RewriteCond %{HTTP_USER_AGENT} !Opera

# Check the Accept header for text/html
RewriteCond %{HTTP_ACCEPT} text\/html [OR]

# Check the Accept header for image type or *.*
RewriteCond %{HTTP_ACCEPT} gif|jpeg|png$|\*.\*$

# Forbid access if the file extension matches XSLT
RewriteRule .*\.(xsl|xslt)$ - [F]

关于xml - 不同的 IE XML/XSL 行为在相同的 View 和浏览器版本中,但具有不同的域用户帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8083522/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com