CSP 內容安全策略( content security policy )


1 背景

跨域腳本攻擊,網絡安全漏洞,於是就有了內容安全防護策略,從根本上解決這個問題。

2 啟用CSP的方式有2

    修改meta標簽,http-equive

    服務器 響應頭設置

3 主要的CSP策略有5

設置 CSP 的示范代碼:

一般情況會這樣設置: Content-Security-Policy:  block-all-mixed-content

res.writeHead(200, {
     'Content-Type': 'text-html',
     'Content-Security-Policy': 'default-src http: https:' 
});

 

不同csp限制類型的使用說明

a,不允許使用內聯腳本或樣式,限制引入文件的方式

'Content-Security-Policy': 'default-src http: https:'

 

b,允許加載指定域名下的文件資源

'Content-Security-Policy': 'default-src \'self\''

'Content-Security-Policy': 'default-src \'self\' https://cdn.bootcss.com/'

 

c,防止表單提交時訪問站點

<form action="https://baidu.com">  會跳轉到百度頁面
    <button>click me</button>
</form>

'Content-Security-Policy': 'default-src \'self\' https://cdn.bootcss.com/; form-action \'self\''

 

d,default-src 設置的是全局,如果只想限制js類型的請求,可以這樣寫

'Content-Security-Policy': 'script-src http: https'

 

e,設置響應報告,瀏覽器會給服務器主動發送 report api 的請求,返回具體的違反CSP的信息,在執行限制策略的同時發送報告

'Content-Security-Policy': 'default-src \'self\' https://cdn.bootcss.com/; form-action \'self\; report-uri /report''

 

d,只發送報告,不執行限制的策略

'Content-Security-Policy-Report-Only' 只會發送報告,不會執行策略

 

f,在 meta 標簽上設置 csp

<meta http-equiv="Content-Security-Policy" content="form-action 'self';">

和服務器上請求頭上設置是一樣的效果,但是不能發送違反策略的信息報告。

CSP詳細策略可參考HTML5開發規范 
 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM