PHP配合Cross-Origin Resource Sharing实现跨域 使用心得 - 想要做個機器人
请参考博文:
以下均是模拟 从 A. abc.com 发起一个到 B. abc.com 的请求 的场景,即 本次 “跨域” 并非 “大跨”,而是在 根域相同 的情况下,去 请求 不同的子域 。
先解释一下,为什么要用 子域之间的请求 作为模拟场景:
这是因为多数人会认为跨域,就是不同根域之间的请求,或者认为根域相同的 不同的子域名之间是安全的调用,这些都是对跨域错误的认识。
实际上浏览器同源策略禁止了不同子域名之间的请求。
需求一:能让我跨就行
这也是最简单的需求,在 B 的服务端程序中,增加响应头:
// 使用通配符 * ,表示当前服务端 返回的信息允许所有源访问, 不推荐
header( 'Access-Control-Allow-Origin:*' );
// 指定可信任的域名来接收响应信息, 推荐
header( 'Access-Control-Allow-Origin:' );
如此一来,一个跨域请求就不会被浏览器的 同源安全策略所阻止了。