這篇文章主要為大家展示了“Html5中內(nèi)容安全策略CSP的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Html5中內(nèi)容安全策略CSP的示例分析”這篇文章吧。

Cordova不支持內(nèi)聯(lián)事件,所以點(diǎn)擊事件必須提取到j(luò)s里面. 以下是從官網(wǎng)摘抄下來(lái),希望對(duì)您有所幫助
為了緩解大量潛在的跨站點(diǎn)腳本問(wèn)題,Chrome的擴(kuò)展系統(tǒng)已經(jīng)納入了內(nèi)容安全策略(CSP)的一般概念。 這引入了一些相當(dāng)嚴(yán)格的策略,默認(rèn)情況下將使擴(kuò)展更加安全,并為您提供了創(chuàng)建和實(shí)施管理可由擴(kuò)展和應(yīng)用程序加載和執(zhí)行的內(nèi)容類(lèi)型的規(guī)則的功能。
一般來(lái)說(shuō),CSP作為黑客/白名單機(jī)制,用于擴(kuò)展程序加載或執(zhí)行的資源。 為您的擴(kuò)展定義合理的策略,您可以仔細(xì)考慮擴(kuò)展所需的資源,并要求瀏覽器確保這些資源是您的擴(kuò)展程序可以訪問(wèn)的唯一資源。 這些策略提供超出您的擴(kuò)展請(qǐng)求的主機(jī)權(quán)限的安全性; 它們是一個(gè)額外的保護(hù)層,而不是替代。
在網(wǎng)絡(luò)上,這樣的策略是通過(guò)HTTP頭或元素來(lái)定義的。 在Chrome的擴(kuò)展系統(tǒng)中,兩者都不是一個(gè)合適的機(jī)制。 相反,擴(kuò)展的策略是通過(guò)擴(kuò)展名的manifest.json文件定義的,如下所示:
{
…
“content_security_policy”:“[POLICY STRING GOES HERE]”
…
}有關(guān)CSP語(yǔ)法的完整詳細(xì)信息,請(qǐng)參閱內(nèi)容安全策略規(guī)范以及有關(guān)HTML5Rocks的“內(nèi)容安全策略簡(jiǎn)介”一文。
默認(rèn)策略限制沒(méi)有定義manifest_version軟件包沒(méi)有默認(rèn)的內(nèi)容安全策略。 那些選擇manifest_version 2,具有默認(rèn)內(nèi)容安全策略:
script-src’self’; object-src’self’
此策略通過(guò)三種方式限制擴(kuò)展和應(yīng)用程序來(lái)增加安全性:
(1)評(píng)估和相關(guān)功能被禁用
以下代碼不起作用:
警報(bào)(的eval( “foo.bar.baz”));
window.setTimeout(“alert(’hi’)”,10); window.setInterval(“alert(’hi’)”,10); new Function(“return foo.bar.baz”);
評(píng)估這樣的JavaScript字符串是一個(gè)常見(jiàn)的XSS攻擊向量。 相反,你應(yīng)該編寫(xiě)如下代碼:
alert(foo && foo.bar && foo.bar.baz);
window.setTimeout(function(){alert(’hi’);},10);
window.setInterval(function(){alert(’hi’);},10);
function(){return foo && foo.bar && foo.bar.baz};(2)內(nèi)聯(lián)JavaScript不會(huì)被執(zhí)行
內(nèi)聯(lián)JavaScript不會(huì)被執(zhí)行。 此限制禁止內(nèi)嵌塊和內(nèi)聯(lián)事件處理程序(例如 )。
第一個(gè)限制通過(guò)使您不小心執(zhí)行惡意第三方提供的腳本來(lái)消除大量的跨站點(diǎn)腳本攻擊。 但是,它需要您將代碼寫(xiě)入內(nèi)容與行為之間的干凈分離(您當(dāng)然應(yīng)該做到這一點(diǎn))對(duì)嗎? 一個(gè)例子可能使這更清楚。 您可能會(huì)嘗試編寫(xiě)一個(gè)瀏覽器操作的彈出窗口作為單個(gè)popup.html包含:
<!doctype html>
My Awesome Popup!
function awesome(){
//做某事真棒!
}
function totalAwesome(){
//做某事真棒!
}
函數(shù)clickHandler(element){
setTimeout( “awesome();getherAwesome()” ,1000);
}
function main(){
//初始化工作在這里。
}
</ SCRIPT>點(diǎn)擊awesomeness!
放寬默認(rèn)策略(1)內(nèi)聯(lián)腳本
直到Chrome 45,沒(méi)有放寬對(duì)執(zhí)行內(nèi)聯(lián)JavaScript的限制的機(jī)制。 特別是,設(shè)置包含’unsafe-inline’的腳本策略將不起作用。
從Chrome 46起,可以通過(guò)在策略中指定源代碼的base64編碼哈希來(lái)將內(nèi)聯(lián)腳本列入白名單。 該散列必須以使用的散列算法(sha256,sha384或sha512)為前綴。
以上是“Html5中內(nèi)容安全策略CSP的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道!
文章題目:Html5中內(nèi)容安全策略CSP的示例分析-創(chuàng)新互聯(lián)
分享鏈接:http://chinadenli.net/article48/diijep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、軟件開(kāi)發(fā)、App設(shè)計(jì)、微信公眾號(hào)、網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容