CORS 和修改响应头
Posted
技术标签:
【中文标题】CORS 和修改响应头【英文标题】:CORS and modifying the response header 【发布时间】:2016-08-04 01:46:28 【问题描述】:我了解站点 A 要向站点 B 发出请求,站点 B 必须在其标头响应中指定站点 A 允许由 Access-Control-Allow-Origin: http://siteA.com
访问
this 网站还声明
启用跨域请求很简单,所以请,请,请 如果您的数据是公开的,请启用 CORS!
这对我来说很有意义。
我的问题是,即使我的站点 B 没有为站点 A 指定 Access-Control-Allow-Origin
标头,我仍然可以通过使用 Chrome 插件或禁用网络安全性来通过站点 A 上的客户端 JS 访问数据。这没有意义。 客户端如何修改服务器响应头,站点A仍然可以通过JS访问数据?
顺便说一句,在这种情况下,站点 A 是 localhost:9000
,如果这很重要的话。
【问题讨论】:
浏览器负责同源策略。如果您禁用网络安全,您只需告诉您的浏览器忽略它。没有修改响应标头。 我真的不明白你的问题。如果您禁用网络安全或使用 Chrome 扩展程序,则与使用curl
发出请求相同——没有同源策略。
【参考方案1】:
客户端如何修改服务器响应头,站点A仍然可以通过JS访问数据
嗯,它不能。问题是服务器只回复 CORS 标头,如何解释它是浏览器的责任。例如,您仍然可以通过curl
从 Internet 上的任何网站检索数据。 CORS 标头只是一个约定。
【讨论】:
以上是关于CORS 和修改响应头的主要内容,如果未能解决你的问题,请参考以下文章
没有响应头 Access-Control-Allow-Origin 时允许 CORS
Apache Windows配置-----跨域CORS设置-----HTTP响应头设置-------dplayer调用apache服务时的header filed range报错解决
Apache Windows配置-----跨域CORS设置-----HTTP响应头设置-------dplayer调用apache服务时的header filed range报错解决