加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 使用过滤器标记mousestats的敏感数据

发布时间:2020-12-17 07:01:02 所属栏目:安全 来源:网络整理
导读:我想用MouseStats注释装饰一些敏感数据. 目前我这样做: td!-- StartMouseStatsHide --{{ $ctrl.payerName }}!-- EndMouseStatsHide --/td 但是在界面的许多地方都有很多敏感数据,所以我尝试使用过滤器来装饰值 td{{ $ctrl.payerName|mousestats_hide }}/td
我想用MouseStats注释装饰一些敏感数据.
目前我这样做:

<td><!-- StartMouseStatsHide -->{{ $ctrl.payerName }}<!-- EndMouseStatsHide --></td>

但是在界面的许多地方都有很多敏感数据,所以我尝试使用过滤器来装饰值

<td>{{ $ctrl.payerName|mousestats_hide }}</td>

过滤器只是用注释包围值.
问题是以这种方式将评论转义给实体.

你有什么建议?
是否可以使用过滤器?

解决方法

Is it possible to do it using filters?

是的,可以使用角度过滤器预先添加/附加变量.

The problem is that in that way comments are being escaped to entities..

这是因为您使用{{$ctrl.payerName}}直接在范围内插入变量.它不解析HTML标记并按原样显示结果字符串.

如果要围绕给定值添加HTML注释,则需要ng-bind-html指令以防止将注释转义为实体.

所以而不是做

<td>{{ $ctrl.payerName|mousestats_hide }}</td>

你应该做

<td ng-bind-html="$ctrl.payerName|mousestats_hide"></td>

这是生成以下标记的working demo.
(我不喜欢< table>所以只需用<>替换< td>)

<body ng-controller="MainCtrl" class="ng-scope">
    <span>Payer Name is: </span>
    <span ng-bind-html="payerName |mousestats_hide" class="ng-binding">
      <!-- StartMouseStatsHide -->Jakub Filipczyk<!-- EndMouseStatsHide --> 
    </span>
</body>

注意到我在过滤器中注入的$sce服务的使用?

这是为了防止[$sce:unsafe] error 使角度相信有人试图在安全的环境中使用不安全的值.

希望它有所帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读