2017-04-27 163 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