小编典典

访问控制允许来源多个来源域?

all

有没有办法使用标头允许多个跨域Access-Control-Allow-Origin

我知道*,但它太开放了。我真的想只允许几个域。

例如,像这样:

Access-Control-Allow-Origin: http://domain1.example, http://domain2.example

我已经尝试了上面的代码,但它似乎在 Firefox 中不起作用。

是否可以指定多个域,还是我只使用一个域?


阅读 85

收藏
2022-02-25

共1个答案

小编典典

听起来推荐的方法是让您的服务器从客户端读取 Origin
标头,将其与您希望允许的域列表进行比较,如果匹配,则将Origin标头的值回显给客户端响应中的Access-Control-Allow- Origin标头。

.htaccess可以这样做:

# ----------------------------------------------------------------------
# Allow loading of external fonts
# ----------------------------------------------------------------------
<FilesMatch "\.(ttf|otf|eot|woff|woff2)$">
    <IfModule mod_headers.c>
        SetEnvIf Origin "http(s)?://(www\.)?(google.com|staging.google.com|development.google.com|otherdomain.example|dev02.otherdomain.example)$" AccessControlAllowOrigin=$0
        Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
        Header merge Vary Origin
    </IfModule>
</FilesMatch>
2022-02-25