私はasp.netmvc学習サイトでJavaScriptインジェクションについて読んでいて、それは目を見張るものです。
JavaScriptを使用して奇妙なお尻のインジェクション攻撃を行う人については、私は気づかなかったし、考えたこともありませんでした。
しかし、それは私にいくつかの未回答の質問を残しました。
初め
いつhtml.encodeを使用しますか?そのユーザーまたは他のユーザーが送信した情報を表示する場合にのみ使用しますか?
それとも私はそれをすべてに使用しますか?ユーザーが送信するフォームがあると言うように、この情報はどのユーザーにも表示されません。引き続きhtml.encodeを使用する必要がありますか?
sayとHtml.TextBox()にhtml.encodeタグを入れる方法がわからないようにするにはどうすればよいですか。
2番
何が起こるか私は私のサイトに豊富なhtmlエディタを持っていると言います。ユーザーはそれを使用して、物事を大胆にすることができます。次に、ラベルを介してユーザーに情報を表示したいと思います。Htmlをエンコードできません。それ以降、すべての太字などがレンダリングされなくなります。
それでも、ユーザーがJavascript攻撃を追加するのを阻止するのは何なのでしょうか?
だから私は何をしますか?正規表現を使用してすべてのタグを除外しますか?
第3
「AntiforgeryToken」と呼ばれる別のタグもありますが、これをいつ使用しますか?
ありがとう
編集
ほとんどの人が「ホワイトリスト」と「ブラックリスト」を使用すると言いますが、このリストをどのように記述して、受信する値と比較しますか(C#の例がいいでしょう)。