2016-01-29 5 views
6

私はローカライズにangular-translateを使用していますが、エスケープのための 'sanitize'と 'sanitizeParameters'の違いは少し不明です。Angular TranslateのuseSanitizeValueStrategy( 'sanitize')とuseSanitizeValueStrategy( 'sanitizeParameters')の相違点

私は既にdocsをチェックアウトしていますが、「翻訳テキストのHTMLを浄化する」とは、「値のHTMLを浄化する」という意味ではありません。 1つは他よりも安全性が低いですか?

補間パラメータの値でHTMLをサニタイズするだけの場合は、コンテンツを完全にサニタイズしていませんか?私が見ることのできる唯一の違いは、 'sanitizeParamters'はフィルタを使用するときにhtmlをエスケープし、 'sanitize'はフィルタを使用しないことです。 utf8の問題がhereに対処されているため、私は 'サニタイズ'戦略を使用できないので、 'sanitizeParameters'を使用するのが安全な戦略であることを確認します。

答えて

3

私は公式の角度ソースファイル「アンギュラtranslate.js」で直接見ていたし、次の

  • を決定はをサニタイズ - すべてのパラメータ
  • sanitizeParametersを含む完全な翻訳をサニタイズ - >サニタイズのみパラメータ

ロジックアプリケーションエスケープエスケープパラメータの両方に対応します。

注::戦略を組み合わせることができます。

$translateProvider.useSanitizeValueStrategy(['sanitize', 'escapeParameters']);

関連する問題