angularjs使用$sce控制代码安全检查_angularjs

angularjs使用$sce控制代码安全检查_angularjs

ID:30775762

大小:54.23 KB

页数:4页

时间:2019-01-03

angularjs使用$sce控制代码安全检查_angularjs_第1页
angularjs使用$sce控制代码安全检查_angularjs_第2页
angularjs使用$sce控制代码安全检查_angularjs_第3页
angularjs使用$sce控制代码安全检查_angularjs_第4页
资源描述:

《angularjs使用$sce控制代码安全检查_angularjs》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、AngularJS使用$sce控制代码安全检查由于浏览器都有同源加载策略,不能加载不同域下的文件、也不能使用不合要求的协议比如file进行访问。在angularjs中为了避免安全漏洞,一些ng-src或者ng-include都会进彳亍安全校验,因此常常会遇到一个iframe中的ng-src无法使用。什么是SCESCE,即strictcontextualescaping,我的理解是严格的上下文隔离…翻译的可能不准确,但是通过字面理解,应该是angularjs严格的控制上下文访问。曲于angular默认是

2、开启SCE的,因此也就是说默认会决绝一些不安全的行为,比如你使用了某个第三方的脚本或者库、加载了一段html等等。这样做确实是安全了,避免一些跨站XSS,但是冇时候我们自己想要加载特定的文件,这时候怎么办呢?此时可以通过$sce服务把一些地址变成安全的、授权的链接.••简单地说,就像告诉门卫,这个陌生人其实是我的好朋友,很值得信赖,不必拦截它!常用的方法有:$sce.trustAs(type,name);$sce.trustAsHtml(value);$sce.trustAsUrl(value);$s

3、ce.trustAsResourceUrl(value);$scc・trustAsJs(value);-其中后面的儿个都是基于第一个api使用的,比如trsutAsUrl-其实调用的是trsutAs($sce.URL,〃xxxx〃);其中type可选的值为:$sce.HTML$sce.CSS$sce.URL//a标签屮的href,img标签屮的src$sce.RESOURCEURL//ng-include,src或者ngSrc,比如iframe或者Object$sce.JS来自官网的例子: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〉');}]);实际工作中的例子: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/");//等同于这个方法}]);述有点时间,接着给大家介绍angular小的ng-bind-html指令和$scc服务angularj

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。