资源描述:
《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>