Content-Security-Policy: connect-src directive

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since November 2016.

Chỉ thị connect-src trong HTTP Content-Security-Policy (CSP) giới hạn các URL có thể được tải bằng giao diện script. Các API sau được kiểm soát bởi chỉ thị này:

Note: connect-src 'self' không phân giải thành các lược đồ websocket trong tất cả các trình duyệt, xem thêm trong issue này.

Phiên bản CSP 1
Loại chỉ thị Fetch directive
Dự phòng default-src Có. Nếu chỉ thị này vắng mặt thì trình duyệt sẽ tìm kiếm chỉ thị default-src.

Cú pháp

http
Content-Security-Policy: connect-src 'none';
Content-Security-Policy: connect-src <source-expression-list>;

Chỉ thị này có thể nhận một trong các giá trị sau:

'none'

Không có tài nguyên nào thuộc loại này được tải. Dấu nháy đơn là bắt buộc.

<source-expression-list>

Danh sách các giá trị biểu thức nguồn phân cách bằng khoảng trắng. Tài nguyên thuộc loại này có thể được tải nếu chúng khớp với bất kỳ biểu thức nguồn nào. Đối với chỉ thị này, các giá trị biểu thức nguồn sau đây có thể áp dụng:

Ví dụ

Trường hợp vi phạm

Với tiêu đề CSP này:

http
Content-Security-Policy: connect-src https://example.com/

Các kết nối sau bị chặn và sẽ không tải:

html
<a ping="https://not-example.com" href="/">Liên kết</a>
<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>

Thông số kỹ thuật

Thông số kỹ thuật
Content Security Policy Level 3
# directive-connect-src

Khả năng tương thích trình duyệt

Xem thêm