gpt4 book ai didi

jquery - 通过 HTTPS 上传时,为什么我在 IE8/IE9 上从 plupload 收到 "Security Error"?

转载 作者:行者123 更新时间:2023-12-01 04:55:50 25 4
gpt4 key购买 nike

我正在使用 plupload 将文件上传到 ASP.NET WebAPI 服务。它在 Chrome 中运行良好,在我的开发机器上的 IE8/IE9 中运行良好。然而,当我连接到实际服务器上的网站时,上传文件会导致 plupload 的错误处理程序触发,并显示错误代码 -400 和错误消息“安全错误”。

查看响应和请求 header ,一切看起来都正常。响应甚至包含正确的返回值!我猜这与使用 https 有关,但我不确定它在 Chrome 中是否可以正常工作。 (Firefox 有一个完全不同的问题,但与 IE 不同,似乎至少可以取回数据。)

我想知道它与请求 Accept header 有关,即:

Accept  application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*

响应头的Content-Type是text/html,因为application/json导致IE想要保存响应而不是将其传回脚本。

那么这个“安全错误”是什么?为什么我会收到它?更重要的是,即使响应似乎正确返回,为什么我会收到它?更重要的是,我该如何解决它?

编辑:好的,更多信息。显然,IE9 使用 html4 运行时进行 plupload,它使用 iframe 来处理文件上传。当数据返回并尝试访问 HTMLIFrameElement 时,IE9 会给出“访问被拒绝”错误。我知道这是为了帮助防止 xss 错误,但似乎从 iframe 读取应该是安全的......

有人知道解决办法吗?

最佳答案

事实证明,IE8和IE9都使用plupload的HTML4运行时,而不是HTML5运行时。 HTML4 正常运行时间通过渲染隐藏的 iframe 来处理上传。这里的问题是 IE8/9 不允许访问该 iframe 以防止 XSS 攻击,因此当 plupload 尝试读取上传结果时,我们会收到该安全错误。

解决方案基本上是让 Web 服务在与调用它的页面相同的 URL 上可用。就我而言,我只是在 IIS 中配置了一个虚拟应用程序,该应用程序指向 Web 服务站点(恰好位于同一服务器上,但我认为它也可以与两个不同的服务器一起工作。)

在同一站点中创建虚拟应用程序允许您引用主站点的 URL,同时仍从辅助站点获取内容。

关于jquery - 通过 HTTPS 上传时,为什么我在 IE8/IE9 上从 plupload 收到 "Security Error"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14429523/

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