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>;

来源

<source> 可以是 CSP 来源值 中列出的任何一个值。

请注意,这套相同的值可用于所有 获取指令(以及 其他一些指令)。

示例

违规情况

给定此 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 表格仅在浏览器中加载

另请参阅