什么是內(nèi)容安全策略 (CSP),如何能夠在 Cloudflare 中使用它?

來源: Cloudflare
作者:Cloudflare
時間:2020-12-01
17575
我能夠在 Cloudflare 中使用內(nèi)容安全策略 (CSP) 嗎?如何使用?

pexels-ono-kosuki-5647200.jpg

什么是內(nèi)容安全策略?

內(nèi)容安全政策(CSP)是一項網(wǎng)絡(luò)標(biāo)準(zhǔn),它授予了網(wǎng)絡(luò)開發(fā)人員額外的控制權(quán),他們可決定允許客戶端瀏覽器從何處加載資源或允許哪些其他網(wǎng)站與開發(fā)人員的網(wǎng)站進(jìn)行交互。例如,使用此示例策略,開發(fā)人員可以指定允許從其自己的站點安全地加載任何內(nèi)容類型,還可以從任何域加載圖像,但僅允許從單獨的經(jīng)過驗證的第三方域加載JavaScript庫和腳本:

default-src'self';img-src*;script-src https://userscripts.example.com

為什么要使用內(nèi)容安全策略?

通過正確配置的策略,您和用戶可享有針對特定攻擊的額外安全防護(hù)。通常,它可用于防止和/或減輕涉及內(nèi)容/代碼注入的攻擊,例如跨站點腳本/XSS攻擊、需要嵌入惡意資源的攻擊、涉及惡意使用iframe的攻擊(例如點擊劫持攻擊)等。更常見的情況下,通過它您可以控制訪問您的站點的客戶端中顯示的內(nèi)容從何處加載。

如何編寫策略?

可在以下地址查看示例中使用的案例和策略:https://developer.mozilla.org/en-US/docs/Web/Security/CSP/Using_Content_Security_Policy

http://w3c.github.io/webappsec-csp/和https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives提供了更完整的指令和使用說明,以及實施注意事項和客戶端支持信息。

https://developer.chrome.com/extensions/contentSecurityPolicy和https://developer.chrome.com/apps/contentSecurityPolicy提供了Chrome專用的文檔,但更側(cè)重于擴展/應(yīng)用開發(fā)。

https://msdn.microsoft.com/en-us/library/dn904195%28v=vs.85%29.aspx提供了針對Edge的部分文檔。

我能夠在Cloudflare中使用內(nèi)容安全策略(CSP)嗎?如何使用?

是的,您可以在Cloudflare背后的站點使用內(nèi)容安全策略。我們不會修改您的源站發(fā)送的Content-Security-Policy標(biāo)頭。

針對您自己/其他第三方內(nèi)容,無需對可接受來源進(jìn)行更改。使用Cloudflare不會影響或修改您用于包含內(nèi)容的URL,因此不會干擾客戶端將策略中指定的位置與用于包含資源的位置進(jìn)行匹配的能力。

將CSP標(biāo)頭與Rocket Loader結(jié)合使用的示例

script-src'self'ajax.cloudflare.com;

將CSP標(biāo)頭與Mirage結(jié)合使用的示例

script-src'self'ajax.cloudflare.com;

如果您使用Cloudflare Apps或Scrape Shield,則需要在策略中允許內(nèi)嵌腳本,因為當(dāng)您啟用這些功能時,我們會在您的域中包含腳本并添加一些內(nèi)嵌代碼。以下是您可以用于這些功能的CSP示例:

script-src'self''unsafe-inline'

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Cloudflare,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多