使用通配符提供Access-Control-Allow-Origin

Dou*_*eux 6 php ajax access-control same-origin-policy

当另一个特定字符串作为GET变量提供时,我正在创建一个页面,该页面响应具有特定字符串的AJAX请求.为了避免出现"同源"策略的问题,我发现我可以在页面顶部包含这一行PHP:

header('Access-Control-Allow-Origin: *');
Run Code Online (Sandbox Code Playgroud)

没有任何敏感数据被传递,它实际上是从几个不同的域来回传递的关键字(它是一个SEO相关的应用程序).因此,数百个不同的域将使用它,所以如果可能的话我想避免指定每个域.使用此生产线有任何风险吗?如果是这样,他们是什么?

此外,如果此页面位于HTTPS URL下,是否仍可访问?

任何建议,建议或顾虑都是最受欢迎的.谢谢!

Bri*_*y37 9

如果访问真的是公开的,我会说这是一个很好的解决方案.但是,如果要限制对站点的访问,您可能希望明确列出允许的每个域来源.

由于您说您的回复中不包含任何敏感信息,因此您可能无需担心通过HTTPS托管服务.原因之一是客户端HTTPS页面尝试访问非HTTPS服务.在这种情况下,我猜他们会收到关于调用AJAX服务时发送/接收的不安全信息的警告,甚至可能只是一个无声的失败.如果这是一个很常见的情况,那么我会说看看HTTPS服务.确保您的HTTPS证书已正确认证,因为如果客户端的浏览器无法验证证书,则AJAX请求将无声地失败(而不是在您直接导航到HTTPS页面时提示)!另外,我不知道你的情况会如何,但每当我使用HTTPS时,我通常都需要调整一些东西以使它们正常运行.

长话短说,我从HTTP开始,然后评估HTTPS的需求.祝好运!