2017-04-27 165 views
1

是否有可能用angularjs(版本1.5.x)替换本地实现的$ sanitize函数与自定义实现将使用DOMPurify

我的目标是能够编写ng-bind-html=value并在清理HTML时使用DOMPurify。

+1

使用[装饰](https://docs.angularjs.org/guide/decorators)取代芯〔毫微克绑定-HTML指令(https://开头docs.angularjs.org/api/ng/directive/ngBindHtml)使用DomPurify。有关更多信息,请参阅[AngularJS开发人员指南 - 如何使用装饰器](https://docs.angularjs.org/guide/decorators#how-to-use-decorators) – georgeawg

回答

2

您可以使用DOMPurity在呈现数据之前清理数据。如果是这样,只是不要注入$sanitize

在XSS安全方面(如您对其进行标记),注意DOMPurify is not made to work with AngularJS

DOMPurify将不会阻止你XSS通过疯狂的库造成 特征例如AngularJS了。我们实施了一种保护性外壳来防止jQuery-XSS,但不能覆盖所有其他 库。如果您使用的库有疯狂的XSS 漏洞,或者您不确定是否属于这种情况,请联系我们 。也参见:JSMVCOMFGmustache-securityjPurify

+1

我宁愿DOMPurify被调用,即使在正在使用ng-bind-html指令,开发人员在呈现数据之前忘记调用DOMPurify – oldbam