設定內容安全政策

您正在查看 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

為入口網站中的所有網頁設定內容安全政策 (CSP),以防範跨網站指令碼 (XSS) 和其他程式碼注入攻擊。CSP 會針對指令碼、樣式和圖像等內容,定義信任的來源。設定政策後,瀏覽器就會封鎖從不受信任的來源載入的內容。

CSP 會新增為 Content-Security-Policy HTTP 回應標頭,並套用至入口網站中的所有網頁,如下所示:

Content-Security-Policy: policy

您可以使用指令定義政策,如 W3C 網站的「內容安全政策指令」中所定義。

如果啟用 CSP 標頭,系統會預設定義下列 CSP 指令:

default-src 'unsafe-eval' 'unsafe-inline' * data:

default-src 指令會為未設定指令的資源類型設定預設政策。

下表說明預設指令中定義的政策。

政策 存取
'unsafe-inline' 內嵌資源,例如內嵌 <script> 元素、javascript: 網址、內嵌事件處理常式和內嵌 <style> 元素。注意:您必須以單引號括住政策。
'unsafe-eval' 不安全的動態程式碼評估,例如 JavaScript eval() 和類似方法,用於從字串建立程式碼。注意:您必須以單引號括住政策。
* (wildcard) 除了 data:blob:filesystem: 架構以外的任何網址。
data: 透過資料配置載入的資源 (例如 Base64 編碼圖片)。

以下提供 CSP 設定範例,說明如何限制特定資源類型。

政策 存取
default-src 'none' 無法存取未設定指令的資源類型。
img-src * 任何來源的圖片網址。
media-src https://example.com/ 來自 example.com 網域的 HTTPS 影片或音訊網址。
script-src *.example.com 執行 example.com 子網域中的任何指令碼。
style-src 'self' css.example.com 套用網站來源或 css.example.com 網域的任何樣式。

如要設定內容安全政策,請按照下列步驟操作:

  1. 依序選取「發布」>「入口網站」,然後選取入口網站。
  2. 在頂端導覽列的下拉式選單中,選取「設定」
  3. 或者,您也可以在入口網站的首頁上按一下「設定」
  4. 按一下 [安全性] 標籤。
  5. 按一下「啟用內容安全政策」
  6. 設定 CSP 或保留預設值。
  7. 按一下 [儲存]

您隨時可以點選「還原預設」,還原預設 CSP 政策。