發布日期:2026 年 9 月 23 日
現代網頁應用程式日益複雜,整合了第三方指令碼,有時還會整合生成式 AI 動態生成的程式碼。雖然這些整合功能非常強大,但會大幅增加資料竊取的風險。為因應這項風險,Chrome 152 推出連線許可清單,這項新的安全機制可讓您為文件和 worker 建立嚴格的網路沙箱。
保護網路通訊的挑戰
您必須明確控管網頁通訊的端點,才能管理依附元件並保護網站架構。惡意指令碼或 AI 生成的幻覺程式碼,可能會繞過應用程式層級檢查,將機密資訊傳送至未經授權的伺服器。
內容安全政策 (CSP) 是強大的工具,可控管網頁載入和執行的內容,但並非用於限制網頁通訊的位置。CSP 會將要求分類為特定類型,當您只需要廣泛的網路邊界時,這會導致精細度過高。此外,CSP 並未涵蓋所有網路平台 API,因此會省略 DNS 預先擷取、導覽、WebRTC 等機制。
什麼是連線許可清單?
連線許可清單可讓瀏覽器成為網頁所有網路連線的守門人,進而解決這些風險。這類規則提供直接且簡化的方法,可管理使用 Fetch 和其他網頁平台 API 啟動的明確網路要求。
傳送 Connection-Allowlist HTTP 回應標頭,即可指定所有網路通訊允許的確切網址模式。這會強制執行架構層級的預設拒絕防火牆。建立任何連線前,瀏覽器會根據許可清單驗證目的地,如果沒有相符項目,就會在網路層級封鎖。
如何使用連線許可清單
這項政策會使用標準化的 URLPattern 語法定義允許的端點。這項政策會分別套用至每個視窗或 worker 情境。
基本設定
您可以使用 response-origin 權杖,將回應來源動態新增至許可清單,以及任何特定 API 端點。
Connection-Allowlist: ("https://api.example.com/*" response-origin)
處理重新導向和 WebRTC
根據預設,連線許可清單會封鎖所有重新導向和 WebRTC 連線。如果強制執行許可清單,除非您明確選擇加入,否則任何導致重新導向的要求都會遭到封鎖。
Connection-Allowlist: ("https://api.example.com/*"); redirects=allow; webrtc=allow
檢舉違規
如要監控潛在的中斷情形,同時不中斷服務,可以採用僅限回報模式部署這項功能。這會剖析政策,並將違規報告傳送至指定的 Reporting API 端點,而不會封鎖連線。請務必設定 Reporting-Endpoints HTTP 回應標頭,將所選端點名稱對應至實際網址。
Connection-Allowlist-Report-Only: ("https://trusted.com/*"); report-to=security-endpoint
主要應用實例
連線許可清單適用於高安全性或動態環境。這類工具特別適合用於:
- 保護生成式 AI:如果網頁應用程式執行生成或不受信任的程式碼 (例如 AI 生成的使用者介面或開發沙箱),您可以防止該程式碼將資料竊取至外部網域。
- 第三方監控:嵌入第三方指令碼或網頁遊戲時,即使這些內容遭到入侵,您也能確保其不會將資料傳送至未經授權的伺服器。
- 架構防護措施:您可以對應用程式的機密部分強制執行嚴格的網路邊界,確保只與核准的後端通訊。
這項功能可做為現有內容安全政策 (CSP) 設定的漸進增強。
測試連線許可清單
連線許可清單功能自 Chrome 152 起正式推出。只要在伺服器回應中加入標頭,就能立即開始保護網頁應用程式。
如要在開發期間測試設定,請按照下列步驟操作:
- 設定本機開發伺服器,傳送
Connection-AllowlistHTTP 回應標頭。 - 開啟 Chrome 開發人員工具,在「Network」面板中查看是否有要求遭到封鎖,或在「Issues」分頁中查看詳細的標頭剖析報表。