php已被CORS策略阻止:“Access Control Allow Origin”标头包含多个值“*,*”,但
时间: 2024-10-11 13:02:25 浏览: 27
Allow CORS: Access-Control-Allow-Origin-crx插件
在PHP中遇到"CORS策略阻止"的情况通常是由于跨域资源共享(Cross-Origin Resource Sharing, CORS)限制导致的。CORS是浏览器的一项安全特性,用于防止一个源的Web内容(比如JavaScript)访问另一个源的数据,除非服务器明确允许。当服务器响应中`Access-Control-Allow-Origin`头部包含了多个星号(`*`),意味着它允许所有来源发起的请求,但实际上这可能会导致安全风险。
在你提到的情况下,服务器可能设置了过于宽泛的`Access-Control-Allow-Origin`,可能是想让所有源都能访问,但是标准做法通常只允许特定的安全源。正确的设置应该是指定一个或多个具体的域名,或者是使用`'*'`匹配预注册的元信息,而不是直接两个`'*'`。
解决这个问题需要检查并修改服务器端的配置,将`Access-Control-Allow-Origin`设置为预期的来源,例如:
```json
Access-Control-Allow-Origin: http://example.com
```
或者如果允许所有同源请求,可以使用以下设置:
```json
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
```
同时,还应该考虑其他的CORS头,如`Access-Control-Allow-Methods`, `Access-Control-Allow-Headers`等,以确保全面的跨域支持。
阅读全文