angularjs使用$sce控制代碼安全檢查_(kāi)angularjs

angularjs使用$sce控制代碼安全檢查_(kāi)angularjs

ID:30775762

大小:54.23 KB

頁(yè)數(shù):4頁(yè)

時(shí)間:2019-01-03

angularjs使用$sce控制代碼安全檢查_(kāi)angularjs_第1頁(yè)
angularjs使用$sce控制代碼安全檢查_(kāi)angularjs_第2頁(yè)
angularjs使用$sce控制代碼安全檢查_(kāi)angularjs_第3頁(yè)
angularjs使用$sce控制代碼安全檢查_(kāi)angularjs_第4頁(yè)
資源描述:

《angularjs使用$sce控制代碼安全檢查_(kāi)angularjs》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、AngularJS使用$sce控制代碼安全檢查由于瀏覽器都有同源加載策略,不能加載不同域下的文件、也不能使用不合要求的協(xié)議比如file進(jìn)行訪(fǎng)問(wèn)。在angularjs中為了避免安全漏洞,一些ng-src或者ng-include都會(huì)進(jìn)彳亍安全校驗(yàn),因此常常會(huì)遇到一個(gè)iframe中的ng-src無(wú)法使用。什么是SCESCE,即strictcontextualescaping,我的理解是嚴(yán)格的上下文隔離…翻譯的可能不準(zhǔn)確,但是通過(guò)字面理解,應(yīng)該是angularjs嚴(yán)格的控制上下文訪(fǎng)問(wèn)。曲于angular默認(rèn)是

2、開(kāi)啟SCE的,因此也就是說(shuō)默認(rèn)會(huì)決絕一些不安全的行為,比如你使用了某個(gè)第三方的腳本或者庫(kù)、加載了一段html等等。這樣做確實(shí)是安全了,避免一些跨站XSS,但是冇時(shí)候我們自己想要加載特定的文件,這時(shí)候怎么辦呢?此時(shí)可以通過(guò)$sce服務(wù)把一些地址變成安全的、授權(quán)的鏈接.??簡(jiǎn)單地說(shuō),就像告訴門(mén)衛(wèi),這個(gè)陌生人其實(shí)是我的好朋友,很值得信賴(lài),不必?cái)r截它!常用的方法有:$sce.trustAs(type,name);$sce.trustAsHtml(value);$sce.trustAsUrl(value);$s

3、ce.trustAsResourceUrl(value);$scc?trustAsJs(value);-其中后面的兒個(gè)都是基于第一個(gè)api使用的,比如trsutAsUrl-其實(shí)調(diào)用的是trsutAs($sce.URL,〃xxxx〃);其中type可選的值為:$sce.HTML$sce.CSS$sce.URL//a標(biāo)簽屮的href,img標(biāo)簽屮的src$sce.RESOURCEURL//ng-include,src或者ngSrc,比如iframe或者Object$sce.JS來(lái)自官網(wǎng)的例子:ng-bin

4、d-html〈/script>

5、cdlltml^X/i>

angular.module(,mySceApp,,[])?control1er(,AppControl1er",「$scope‘,'$sce‘,function($scope,$sce){$scope.explicitlyTrustedHtml=$sce.trustAsHtml('〈spanonmouseover二〃this.textContent二〃ExplicitlytrustedHTMLbypas

6、ses'+'sanitization.////>Hoveroverthistext.〈/span〉');}]);實(shí)際工作中的例子:ng-src鏈接〈/script>

7、vng-controllcr=,zAppController"〉

angular.modulemySccApp',[])?controller('AppController,,['$scope,,'$sce,,function($scope,$sce){$sc

8、ope.trustSrc二$sce.trustAs($sce.RESOURCEURL,〃http://fanyi.youdao.com/");//$scope.trustSrc二$scc?trustAsRcsourccUrl(,zhttp://fanyi.youdao.com/");//等同于這個(gè)方法}]);述有點(diǎn)時(shí)間,接著給大家介紹angular小的ng-bind-html指令和$scc服務(wù)angularj

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。
相關(guān)標(biāo)簽