2017-04-27 11 views
1

angularjs(バージョン1.5.x)の$ sanitize関数のネイティブ実装を、DOMPurifyを使用するカスタム実装に置き換えることはできますか?

私の目標は、ng-bind-html=valueと書くことができ、HTMLをサニタイズするときにDOMPurifyを使用できるようにすることです。

+1

は、コア[ngのバインド - HTMLディレクティブ](HTTPSを交換するために、[デコレータ](https://docs.angularjs.org/guide/decorators)を使用しますdocs.angularjs.org/api/ng/directive/ngBindHtml)にDomPurifyを使用するものを追加しました。詳細については、[AngularJS開発者ガイド - デコレータの使い方]を参照してください(https://docs.angularjs.org/guide/decorators#how-to-use-decorators) – georgeawg

答えて

2

データをレンダリングする前に、DOMPurityを使用してそのデータをサニタイズすることができます。その場合は、$sanitizeを注射しないでください。

DOMPurifyが持っている例AngularJS用として狂気ライブラリによって 機能を引き起こしたXSSからあなたを防ぐことはできません:XSSセキュリティの面では

は(あなたがそれをタグとして)、DOMPurify is not made to work with AngularJSがあることに注意してください。 jQuery-XSSを保護するための防護服 を実装しましたが、他のすべての ライブラリをカバーすることはできません。あなたが狂ったXSS の脆弱性を持つライブラリを使用している場合、またはそうであるかどうかわからない場合は、 にお問い合わせください。参照://:JSMVCOMFGmustache-securityjPurify

+1

DOMPurifyは、 ng-bind-html命令が使用されており、開発者はデータをレンダリングする前にDOMPurifyを呼び出すのを忘れていました – oldbam

関連する問題