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

Vla*_*zic 5 javascript apache iis ajax xmlhttprequest

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

Access-Control-Allow-Origin: "*"
Run Code Online (Sandbox Code Playgroud)

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

Access-Control-Allow-Origin: http://www.example.com
Run Code Online (Sandbox Code Playgroud)

Hal*_*yon 8

CORS头文件通常用于JavaScript AJAX请求.浏览器具有内置的安全机制,除非通过设置这些CORS标头明确允许,否则不允许您查询其他域.

真的没有太大的安全风险.无论如何,您始终可以发送恶意请求.浏览器只是集体决定玩得很好.

有一点需要注意的是,你并不一定总是希望发送

Access-Control-Allow-Origin: http://www.example.com
Run Code Online (Sandbox Code Playgroud)

头.这可能会导致人们进入使用您的API的所有域.我的建议是,如果有必要,你只发出标题,即.您OPTIONS从白名单域获得请求.

我最近写了一篇关于此的博客文章:http://fritsvancampen.wordpress.com/2013/02/03/cross-site-origin-requests-aka-cross-origin-resource-sharing/