Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在发起/源位置阻止跨域XHR或fetch调用 让我们考虑下面的场景: 用户加载https://foo.com/index.html在允许CORS的一种现代浏览器中 index.html从https://bar.com/script.js通过脚本标记 考虑这样一种假设情况,即从未缓存此script.js,并且script.js的内容已更改 script.js向https://baz.com https://baz.com已启用访问控制允许凭据:因此script.js制作的XHR将通过 重要的用户信息现在可以传递到https://baz.com这是一种安全风险_Javascript_Xmlhttprequest_Cross Domain_Fetch Api - Fatal编程技术网

Javascript 在发起/源位置阻止跨域XHR或fetch调用 让我们考虑下面的场景: 用户加载https://foo.com/index.html在允许CORS的一种现代浏览器中 index.html从https://bar.com/script.js通过脚本标记 考虑这样一种假设情况,即从未缓存此script.js,并且script.js的内容已更改 script.js向https://baz.com https://baz.com已启用访问控制允许凭据:因此script.js制作的XHR将通过 重要的用户信息现在可以传递到https://baz.com这是一种安全风险

Javascript 在发起/源位置阻止跨域XHR或fetch调用 让我们考虑下面的场景: 用户加载https://foo.com/index.html在允许CORS的一种现代浏览器中 index.html从https://bar.com/script.js通过脚本标记 考虑这样一种假设情况,即从未缓存此script.js,并且script.js的内容已更改 script.js向https://baz.com https://baz.com已启用访问控制允许凭据:因此script.js制作的XHR将通过 重要的用户信息现在可以传递到https://baz.com这是一种安全风险,javascript,xmlhttprequest,cross-domain,fetch-api,Javascript,Xmlhttprequest,Cross Domain,Fetch Api,在CORS之前,XHR调用严格遵循同一原产地政策,因此调用https://baz.comfromhttps://foo.com浏览器不允许使用 我想知道是否有办法https://foo.com/index.html指定XHR允许的域名列表,这样就不可能出现上述情况 非常感谢您的指点 [更新] 感谢您考虑周到CORS阻塞是在服务器端完成的,在服务器端,响应头被设置为允许来自特定来源的请求或不允许来自特定来源的请求 如果bar.com/script.js从baz.com获取数据,那么baz.com

CORS
之前,
XHR
调用严格遵循同一原产地政策,因此调用
https://baz.com
from
https://foo.com浏览器不允许使用

我想知道是否有办法
https://foo.com/index.html
指定
XHR
允许的域名列表,这样就不可能出现上述情况

非常感谢您的指点

[更新]


感谢您考虑周到CORS阻塞是在服务器端完成的,在服务器端,响应头被设置为允许来自特定来源的请求或不允许来自特定来源的请求


如果
bar.com/script.js
baz.com
获取数据,那么
baz.com
应该有CORS限制。

我想我找到了问题的答案

使用
Content Security Policy的
connectsrc
指令
Header
https://foo.com/
可以限制
XHR
fetch
调用以及
WebSocket
EventSource


我曾经想过删除我的问题,但像我这样的人可以从中受益。

我打算发布一个关于如何重载XMLHttpRequest和fetch()来创建拦截器的答案……这要简单得多!
Content-Security-Policy: connect-src <source> <source>;