跨域策略是不是限制从同一域的不同协议下载?
Posted
技术标签:
【中文标题】跨域策略是不是限制从同一域的不同协议下载?【英文标题】:Do cross-domain policies restrict downloading from different protocols for the same domain?跨域策略是否限制从同一域的不同协议下载? 【发布时间】:2010-10-31 23:20:11 【问题描述】:跨域策略限制从另一个域下载内容:
http://mysiteA.com <--NO--> http://myothersite.com
但是是否允许通过不同的协议从同一个域下载,它是否可以在日常网络浏览器中工作(有人可以测试)?
http://mysite.com <--?--> https://mysite.com
【问题讨论】:
【参考方案1】:是的(对于标题中的问题),根据 wikipedia's 对“同源政策”的解释:
“来源”一词是使用域名、应用层协议和(在 大多数浏览器)运行脚本的 html 文档的 TCP 端口。两个资源是 当且仅当所有这些值完全相同时,才被认为具有相同的起源。
所以http://foo.bar 和https://foo.bar 是不“同源”,例如。
【讨论】:
啊不。注意协议的差异,所以它不是同一个来源,所以它不会起作用。 @blowdart:这就是亚历克斯所说的。我认为他回答了标题中的问题,而不是文本中的问题,这是从相反的方向提出的。 啊,是的,标题问题和问题内容问的是不同的事情:)抱歉,alex! 对,我正在回答标题中提出的问题-我希望在此问题上对我投反对票的人会重新考虑!-) 不要为这里的投票系统而烦恼,Alex,这里的人们可能会疯狂地支持他们喜欢的东西,而不是正确/好的东西。看看“有趣”和“主观”的问题/答案获得了多少票!【参考方案2】:所以你很困惑。这不是 XSS,而是跨域访问 - XSS 是一个安全漏洞,您可以将用户输入回显到 HTML 页面而不对其进行编码。
您要问的是跨域访问,可能来自 Ajax,但也可能来自 Silverlight 或 Flash。
如果是这样,答案是否定的,因为协议不同,一个站点使用 HTTP,一个站点使用 HTTPS。只能访问协议、域名、网口全部匹配的资源。
【讨论】:
感谢您的澄清,但我仍然希望有人通过尝试从同一域上的另一个协议下载某些内容(通过 JS)来确认在 FF 和 IE 等优质浏览器中是否如此. 如果我可以控制两个域(HTTP 和 HTTPS),我可以在某处添加跨域策略文件或配置以允许加载跨协议吗? 你不能自己做吗?好吧,当我在我的书中写 RIA 章节时,我已经做到了,相信我,它在所有主要浏览器中都不允许,IE、Mozilla、Safari、Chome 和 Opera 跨域策略文件仅在使用 flash 或 silverlight 时发挥作用。 (尽管正在将它们添加到 HTML/DOM 位中)以上是关于跨域策略是不是限制从同一域的不同协议下载?的主要内容,如果未能解决你的问题,请参考以下文章