CSP:connect-src
HTTP Content-Security-Policy
(CSP) 的 connect-src
指令限制了可以使用脚本接口加载的 URL。受限的 API 包括
注意:并非所有浏览器中 connect-src 'self'
都会解析为 websocket 方案,更多信息请参见此 问题。
CSP 版本 | 1 |
---|---|
指令类型 | 获取指令 |
default-src 回退 |
是。如果此指令不存在,则用户代理将查找 default-src 指令。 |
语法
可以为 connect-src 策略允许一个或多个来源
http
Content-Security-Policy: connect-src <source>;
Content-Security-Policy: connect-src <source> <source>;
来源
示例
违规情况
给定此 CSP 标头
http
Content-Security-Policy: connect-src https://example.com/
以下连接将被阻止且无法加载
html
<a ping="https://not-example.com">
<script>
const response = fetch("https://not-example.com/");
const xhr = new XMLHttpRequest();
xhr.open("GET", "https://not-example.com/");
xhr.send();
const ws = new WebSocket("wss://not-example.com/");
const es = new EventSource("https://not-example.com/");
navigator.sendBeacon("https://not-example.com/", {
/* … */
});
</script></a
>
规范
规范 |
---|
内容安全策略级别 3 # directive-connect-src |
浏览器兼容性
BCD 表格仅在浏览器中加载