ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – AngularJS在扩展页面中将URL更改为“unsafe:”

2019-09-15 13:45:20  阅读:111  来源: 互联网

标签:javascript angularjs security google-chrome-extension


我正在尝试将Angular与应用列表一起使用,每个应用都是一个链接,可以更详细地查看应用(apps / app.id):

<a id="{{app.id}}" href="apps/{{app.id}}" >{{app.name}}</a>

每次我点击其中一个链接时,Chrome都会将网址显示为

unsafe:chrome-extension://kpbipnfncdpgejhmdneaagc.../apps/app.id

不安全的地方:来自哪里?

解决方法:

您需要使用正则表达式向Angular的白名单中明确添加URL协议.默认情况下,仅启用http,https,ftp和mailto.当使用诸如chrome-extension之类的协议时,Angular将使用不安全的非白名单URL作为前缀:

将chrome-extension列入白名单的好地方:协议将在您的模块的配置块中:

var app = angular.module( 'myApp', [] )
.config( [
    '$compileProvider',
    function( $compileProvider )
    {   
        $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|chrome-extension):/);
        // Angular before v1.2 uses $compileProvider.urlSanitizationWhitelist(...)
    }
]);

当您需要使用诸如file:和tel:之类的协议时,同样的过程也适用.

有关更多信息,请参阅AngularJS $compileProvider API documentation.

标签:javascript,angularjs,security,google-chrome-extension
来源: https://codeday.me/bug/20190915/1804960.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有