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

标签 javascript ajax apache iis xmlhttprequest

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

Access-Control-Allow-Origin: "*"

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

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

最佳答案

CORS header 通常用于 JavaScript AJAX 请求。浏览器有一个内置的安全机制,不允许您查询其他域,除非它们通过设置这些 CORS header 明确允许。

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

需要注意的一件事是您不一定总是要发送

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

标题。这可能会将人们带到所有使用您的 API 的域。我的建议是你只在必要时发出 header ,即。您收到来自白名单域的 OPTIONS 请求。

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

关于javascript - 设置Access-Control-Allow-Origin可能存在的安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14979313/

相关文章:

javascript - 动态合并 img 数组中的 alt 标签数组

javascript - jQuery.ajax 认为什么响应是 "success"?

ios - Apple 设备 (Safari) 上的网站图像无法从其他服务器加载

php - 使用 Javascript 的 Ajax

javascript - 按钮函数 OpenInNewTab 在 <figcaption> 中无法正常工作

javascript - 远程 JSON 的奇怪行为 Typeahead

javascript - 获取 OSRM 路由的 JSON

php - 在使用 ini_set ('max_execution_time' , 0);

r - 添加 SSL 和 apache 后, Shiny 的服务器断开应用程序?

javascript - 将参数从 JavaScript 函数传递到 JSP