1

我正在从网络服务获取用户详细信息。

一切都很好,只是 javascript 向电子邮件 ID 字段添加了一个不安全的属性。

<div class="row">
    <div class="col col-50">
        <span class="input-label">Created By</span>
    </div>
    <div class="col col-50" style="color:white">
        {{Idea.FirstName}}&nbsp;{{Idea.LastName}}
        <a ng-href="sip:{{Idea.EmailId}}">
            <i class="ion-ios-chatboxes-outline" style="font-size:2em;color:white"></i>
        </a>
    </div>
</div>

当我悬停或单击聊天图标时,角落会显示一条消息:unsafe:sip:"EmailId"

4

2 回答 2

1

ng-href在范围的上下文中执行表达式。你不需要花括号。所以你的代码应该是

 <a ng-href="'sip:'+Idea.EmailId">

或者

 <a href="sip:{{Idea.EmailId}}">
于 2015-08-13T06:18:18.367 回答
0

Angular 将普通 url 作为 href:mailto 作为白名单。但是从安全的角度来看,很少需要加载属性。要通过角度启动 IM,我们需要像这样将 sip 添加到白名单

 var app = angular.module( 'myApp', [] )
.config( [
'$compileProvider',
function( $compileProvider )
{   
    $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|sip|chrome-extension):/);
}
]);

它将 sip 添加到白名单,并且在单击图标时将启动 Lync 应用程序。此更改将在 app.js 中进行。

于 2015-08-13T08:36:50.967 回答