允许http和https的跨源请求

我的网站支持http和https协议。 但是,在.htaccess文件中使用下面的代码,我只能设置一个域来允许CORS请求:

Header set Access-Control-Allow-Origin: http://example.com

我想让我的网站的http和https版本(不只是“*”)的CORS,并尝试在这里的解决方案:访问控制,允许来源多个原产地域?

但问题是,所有的解决方案都依赖于请求中的Origin头部,这可能不存在,也不安全。 (任何人都可以在他们的请求中放入一个起源头)

我想知道请求是否通过https服务,并使用此信息来设置正确的CORS头。 像这样的东西:

SetEnvIf servedOverHttps httpsOrigin=true
Header set Access-Control-Allow-Origin: https://example.me env=httpsOrigin

SetEnvIf notServedOverHttps httpOrigin=true
Header set Access-Control-Allow-Origin: http://example.me env=httpOrigin

我如何知道这是一个https请求?


你有没有尝试过使用HTTPS变量?

它将被设置为"on"所有https请求。 你的.htaccess应该是这样的

Header set Access-Control-Allow-Origin: http://example.com             #default
Header set Access-Control-Allow-Origin: https://example.com env=HTTPS   #override if https
链接地址: http://www.djcxy.com/p/25751.html

上一篇: Allowing cross origin requests for http and https

下一篇: wordpress mail header set else plain text