设置Access-Control-Allow-Origin可能存在安全问题

时间:2013-02-20 11:57:46

标签: javascript ajax apache iis xmlhttprequest

我看到设置“*”通配符是安全风险,即

Access-Control-Allow-Origin: "*"

我想知道的是,在设定具体领域时存在任何安全风险,即

Access-Control-Allow-Origin: http://www.example.com

1 个答案:

答案 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/