2017-04-17 10 views
0

セキュリティ上の理由から、XSS攻撃を防止するためには、ユーザー入力をサニタイズする必要があります。 テキストフィールドまたは入力フィールドから入力を消毒する。Angular2がコンポーネント内のスクリプトタグをサニタイズするのはなぜですか?

しかし、Angularがコンポーネントテンプレート内からスクリプト要素を削除する理由を理解しようとしています。それは公式のドキュメントに書かれているよう

HTMLは、属性、およびテンプレートで(バインド値ではなく)式を結合することは

だから彼らがある場合は安全であると信頼されていますコンパイル時にスクリプトタグが自動的に削除されるのはなぜですか?

XSSに関するドキュメントを読んだ後でも、AngularコンパイラでコンパイルされたAngularコンポーネントのテンプレート内のスクリプトタグがセキュリティを侵害する可能性があります。

ここに回答がありますか?

答えて

0

Angularテンプレートを作成すると、Angularコンパイラはそのテンプレートを読み込み、そのテンプレートが行っていることの最適化されたJavaScript表現を作成し、その最適化されたJavaScriptをブラウザに送ります。

ブラウザがテンプレートを保持する時点で、実際はもはやHTMLではなくなりました。これは単なるjavascriptです。その時点で他の場所から外部の、未知の、潜在的に安全でないJavaScriptを動的にロードするサポートはありません。

+0

私はこの角度に問題は見られませんでした。ありがとうございました。 ダイナミックに特定の外部src属性を持つスクリプトタグを作成することができないこともわかりませんでした – Clement

関連する問題