我在理解同源政策和"解决方法"的不同方法方面遇到了一些麻烦.
很明显,同源策略作为安全措施存在,因此来自服务器/域的一个脚本无法访问来自另一个服务器/域的数据.
同样清楚的是,有时,能够破坏此规则是有用的,因此例如mashup应用程序访问来自不同服务器的信息以便建立所需的结果.其中一种方法是CORS.
1)如果我没错,CORS允许目标服务器通过在响应中添加一些标题来向浏览器说" 你可以从我自己获取数据/代码 ".但是,如果这是正确的,这意味着恶意服务器可以只添加此标头,浏览器将允许检索来自该服务器的任何可能有害的数据或代码.
2)另一方面,我们有JSONP,允许我们从没有启用CORS的服务器中检索任意代码或数据,从而避免了SOP的主要目标.因此,即使在浏览器中使用SOP硬连线,能够管理JSONP的恶意服务器也能够注入数据或代码.
所以我的问题是:
第二个论证是否正确?是服务器决定浏览器是否必须接受内容?第二个论证是否正确?再次,不是在浏览器决定是否接受数据?
JSONP不能使SOP无用吗?
谢谢你的启发!!
启用CORS有几个安全问题:
但是,对于支持全局CORS的公共和只读Web服务,我有什么问题吗?
Access-Control-Allow-Origin: *
Run Code Online (Sandbox Code Playgroud)
我的假设: