我看到设置“*”通配符是安全风险,即
Access-Control-Allow-Origin: "*"
我想知道的是,在设定具体领域时存在任何安全风险,即
Access-Control-Allow-Origin: http://www.example.com
答案 0 :(得分:8)
CORS标头通常用于JavaScript AJAX请求。浏览器具有内置的安全机制,除非通过设置这些CORS标头明确允许,否则不允许您查询其他域。
真的没有太大的安全风险。无论如何,您始终可以发送恶意请求。浏览器只是集体决定玩得很好。
要注意的一件事是,您不一定总是想要发送
Access-Control-Allow-Origin: http://www.example.com
头。这可能会导致人们进入使用您的API的所有域。我的建议是,如果有必要,你只发出标题,即。您从列入白名单的域中收到OPTIONS
个请求。
我最近写了一篇关于此事的博文:http://fritsvancampen.wordpress.com/2013/02/03/cross-site-origin-requests-aka-cross-origin-resource-sharing/