是否可以用可以使用Dompurify的自定义实现来替换AngularJS(1.5.x版(的本机实现?
我的目标是能够编写ng-bind-html=value
并在对HTML进行消毒时使用dompurify。
您可以在呈现数据之前使用Dompurity对数据进行消毒。如果是这样,只是不要注入$sanitize
。
根据XSS安全性(在您标记时(,请注意,dompurify是不是与AngularJS一起工作:
dompurify不会阻止您脱离由疯狂库引起的XSS 例如AngularJS具有的功能。我们实施了保护性 涂层以防止jQuery-XSS,但不能覆盖所有其他 库。如果您正在使用一个疯狂XSS的库 漏洞或您不确定是否是这种情况,请与之交谈 我们。另请参阅:JSMVCOMFG,Mustache-Security,Jpurify
而不是使用ngSanitize
模块,只需为$sanitize
提供自己的实现:
angular.module("yourModule").factory("$sanitize", () => html =>
DOMPurify.sanitize(html, {
SAFE_FOR_JQUERY: true,
// ... other settings
})
);