1

AntiXss ライブラリの使用を証明するために、単純な ASP.NET アプリケーションに取り組んでいます。ライブラリは非常に強力で、aspx ページの Eval() を除いて問題なく動作しています。たとえば、次のようなラベル コントロールがあるとします。

<asp:Label runat="server" ID="CommentsLabel" Text='<%# Eval("Name") %>' />

どうすれば AntiXss を使用できますか?

HERE で言及されているこの例に従い、次のようにしてライブラリをラベル コントロールに追加しました。

<asp:Label runat="server" ID="CommentsLabel" Text='<%#Microsoft.Security.Application.AntiXss.HtmlEncode(((System.Data.DataRowView)Container.DataItem)["Comments"].ToString()) %>'/>

そして、インストラクターはまだ脆弱であると言っていますが、その理由はわかりません. 次に、を使用する代わりに、前の行でAntiXss.HtmlEconde()使用しましたEncoder.HtmlEncode()

<asp:Label runat="server" ID="CommentsLabel" Text='<%#Microsoft.Security.Application.Encoder.HtmlEncode(((System.Data.DataRowView)Container.DataItem)["Comments"].ToString()) %>'/>

編集:

また、インストラクターが使用しているスキャン ツールに基づいて、彼はまだ脆弱性があると言っています。では、このライブラリを Eva​​l または Data Binding で一般的に使用するにはどうすればよいでしょうか?

4

0 に答える 0