設定內容安全政策

本頁內容適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

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

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. 在 Apigee in Cloud 控制台中,前往「Distribution」>「Portals」頁面。

    前往入口網站

  2. 按一下入口網站。

  3. 按一下導覽選單中的「設定」

  4. 按一下 [Security] (安全性) 分頁標籤。

  5. 按一下「啟用內容安全政策」

  6. 設定 CSP 或保留預設值。

  7. 按一下 [儲存]

如要隨時還原預設 CSP 政策,請按一下「還原預設值」