AEM Sites中內嵌指令碼的內容安全性原則Nonce支援
嚴格的內容安全性原則(CSP)可降低安全性風險,例如跨網站指令碼(XSS)。 在Adobe Experience Manager (AEM) Sites中,使用script-src 'unsafe-inline'和'unsafe-eval'可啟用內嵌指令碼,但會產生漏洞。 本指南說明AEM Sites是否支援CSP Nonce或安全替代方案,以便載入沒有不安全指示詞的內嵌指令碼。
若要修正此問題,您需要重構內嵌指令碼並實施自訂Nonce處理。
說明 description
環境
產品: AEM as a Cloud Service — 網站
問題/症狀
- CSP排除
'unsafe-inline'和'unsafe-eval'時,無法載入內嵌指令碼。 - 移除這些標幟會標籤為安全性風險,但會中斷功能。
- 需要類似CSP Nonce的安全方法,才能在不影響安全性的情況下允許內嵌指令碼執行。
解決方法 resolution
主要考量事項:
- AEM Sites不提供CSP Nonce的立即可用支援。
- AEM不會自動使用Nonce裝飾其內嵌指令碼。
-
若要在不安全指示詞的情況下執行更嚴格的CSP原則(亦即,排除
unsafe-inline/unsafe-eval):- 將內嵌指令碼重構至外部JavaScript檔案。 如需詳細資訊,請參閱Experience Platform檔案中的設定CSP。
- 視需要建置自訂解決方案以產生和插入Nonce。
-
測試所有變更以確保頁面功能不會中斷。
附註:
- CSP的缺位並不構成AEM的固有弱點,而是作為額外的防禦層。 請參閱Commerce檔案中的內容安全性原則概觀。
- 自訂實施是更嚴格CSP強制執行的必要措施,超出目前立即可用的支援範圍。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f