Content-Security-Policy: connect-src 指令
HTTP Content-Security-Policy (CSP) 的 connect-src 指令限制了可以使用指令碼介面載入的 URL。以下 API 受此指令控制:
<a>元素中的ping屬性fetch()fetchLater()實驗性XMLHttpRequestWebSocketEventSourceNavigator.sendBeacon()
注意: connect-src 'self' 並非在所有瀏覽器中都能解析為 WebSocket 方案,更多資訊請參閱此問題。
| CSP 版本 | 1 |
|---|---|
| 指令型別 | 獲取指令 |
default-src 回退 |
是的。如果此指令缺失,使用者代理將查詢 default-src 指令。 |
語法
http
Content-Security-Policy: connect-src 'none';
Content-Security-Policy: connect-src <source-expression-list>;
此指令可以具有以下值之一
'none'-
不允許載入此型別的任何資源。單引號是強制性的。
<source-expression-list>-
一個由源表示式值組成的空格分隔列表。如果資源型別與任何給定的源表示式匹配,則可以載入此類資源。對於此指令,以下源表示式值適用:
示例
違規情況
給定此 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 |
瀏覽器相容性
載入中…