“访问控制允许来源:*”的缺点?

cam*_*ous 13 http nginx http-headers cors

我有一个网站,有一个单独的静态文件子域。我发现我需要设置Access-Control-Allow-Origin标题才能使某些 AJAX 功能正常工作,特别是字体。我希望能够访问静态子域以localhost进行测试以及www子域。简单的解决方案似乎是Access-Control-Allow-Origin: *。我的服务器使用 nginx。

什么是主要的原因,你可能希望使用通配符为Access-Control-Allow-Origin您的响应头?

Mic*_*ksa 1

您可能不想使用通配符,例如:

\n\n
    \n
  1. 你的 web 和 let\xe2\x80\x99s 说它的 AJAX 后端 API 运行在不同的域上,或者只是在不同的端口上运行,并且你不想将后端 API 暴露给整个互联网,那么你就不会发送*.例如,您的网站已打开http://www.example.com且后端 API 已打开http://api.example.com,则 API 将响应为Access-Control-Allow-Origin: http://www.example.com
  2. \n
  3. 如果 API 想要从客户端请求 cookie,则不得发送 cookie Access-Control-Allow-Origin: *,但其值必须是实际请求中的 origin 的值。
  4. \n
\n