服务器返回头部允许跨域

1、前端通过Options方式发送请求;

2、服务端判断isOptions是否为true,为true返回以下头部,允许浏览器跨域

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 

header("Cache-Control: no-store, must-revalidate"); 

header("Pragma: no-cache"); 

header('Access-Control-Allow-Origin:*');

header('Access-Control-Allow-Headers:X-Requested-With,accept, origin, content-type');

在PHP中设置和验证CORS(跨源资源共享)头部允许服务器指定哪些源可以访问服务器上的资源。这通常在发送HTTP响应时通过设置响应来完成。以下是实现这一功能的基本步骤: 1. 设置Access-Control-Allow-Origin头部:这个头部指定了哪些外部域可以访问资源。例如,如果你想允许所有域进行跨域请求,可以设置为'*'(注意这可能带来安全风险,一般推荐具体指定域名)。如果只允许特定域进行跨域请求,则直接指定该域。 ```php header('Access-Control-Allow-Origin: http://example.com'); // 允许特定域 // 或者 header('Access-Control-Allow-Origin: *'); // 允许所有域,不推荐 ``` 2. 设置其他CORS相关的头部(可选):根据需要,可能还需要设置其他几个CORS相关的头部,例如: - `Access-Control-Allow-Methods`:指定允许的HTTP方法。 - `Access-Control-Allow-Headers`:指定允许头部字段。 - `Access-Control-Allow-Credentials`:指定是否允许发送cookies。 - `Access-Control-Max-Age`:缓存预检请求的秒数。 ```php header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE'); // 允许的HTTP方法 header('Access-Control-Allow-Headers: Content-Type, Authorization'); // 允许头部字段 header('Access-Control-Allow-Credentials: true'); // 允许发送cookies header('Access-Control-Max-Age: 3600'); // 缓存预检请求的秒数 ``` 3. 确保服务器正确处理OPTIONS预检请求:浏览器在发送实际请求之前可能会发送一个OPTIONS请求作为预检。服务器需要正确处理这种请求,并返回适当的CORS头部。 ```php if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { // 设置适当的CORS头部 // ... exit(0); // 结束脚本执行 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值