php header跨域请求的设置
正常情况下适用于所有域的请求:
header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
需要注意的是,这段代码要放到文件最上面,下面是比较安全的设置方法:
栗子1:
header('Access-Control-Allow-Origin: http://mysite1.com', false); header('Access-Control-Allow-Origin: http://example.com', false); header('Access-Control-Allow-Origin: https://www.mysite2.com', false); header('Access-Control-Allow-Origin: http://www.mysite2.com', false);
据说此法效率很高
栗子2:
$http_origin = $_SERVER['HTTP_ORIGIN']; $allowed_domains = array( 'http://domain1.com', 'http://domain2.com', ); if (in_array($http_origin, $allowed_domains)) { header("Access-Control-Allow-Origin: $http_origin"); }
此法简单易维护