偶然碰到iframe跨域加載被拒絕的問題,原因是父頁面默認(rèn)不允許加載跨域的子頁面,也就是的content-security-policy中沒有設(shè)置允許跨域加載。
簡單地說,content-security-policy能限制頁面允許和不允許加載的所有資源,常見的包括:
- iframe加載的子頁面url
- js文件
- 圖片、視頻、音頻、字體等資源
設(shè)置content-security-policy有兩個途徑:
- 通過請求頭設(shè)置(http header)
- 在html中head > meta設(shè)置
使用中注意:
- 1比2的優(yōu)先級高,也就是瀏覽器優(yōu)先使用請求頭的配置
- content-security-policy各配置項默認(rèn)使用
default-src
指令的值,該指令默認(rèn)是不限制的
csp配置可以有效阻止跨站腳本攻擊(xss),而且用起來也不麻煩,可以作為一個開發(fā)中的日常習(xí)慣。文章來源:http://www.zghlxwxcb.cn/news/detail-622784.html
具體使用方式就不贅述了,感興趣的可以看下面的參考頁面。文章來源地址http://www.zghlxwxcb.cn/news/detail-622784.html
參考
- Content Security Policy 入門教程 —— 阮一峰
- 內(nèi)容安全策略(CSP)—— MDN
- CSP常用配置項(指令)
到了這里,關(guān)于web開發(fā)中的安全和防御入門——csp (content-security-policy內(nèi)容安全策略)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!