php输出内容使用Access-Control-Allow-Origin响应头解决跨域请求
我们在做一个项目,使用PHP生成JSON并供第三方站点调用,调用的文件名是JSON.PHP,这个文件输出的内容是JSON格式的,传统的跨域请求解决方案,无非就是jsonp和iframe或者直接第三方网站用CURL读取,但是实际如果能让第三方网站直接能跨域引用资源,将可以节省很多资源出来。
在新版的W3C规范里面,已经考虑到这点,只要在服务器响应客户端的时候,带上Access-Control-Allow-Origin头信息就能控制跨站。
有以下两种设置方式:
泛域名: (* 允许所有域名的脚本访问该资源。)
Access-Control-Allow-Origin: *
特定域名: ( http://www.bnxb.com: 允许特定的域名访问。)
Access-Control-Allow-Origin: http://www.bnxb.com
我们只需要在PHP添加响应头信息:(表示支持所有域名访问)
header("Access-Control-Allow-Origin: *");
语法参考下列PHP 语法设置:
// 指定允许其他域名访问
header('Access-Control-Allow-Origin:*');
// 响应类型
header('Access-Control-Allow-Methods:*');
// 响应头设置
header('Access-Control-Allow-Headers:x-requested-with,content-type');
顶(6)
踩(0)
- 最新评论