Home > プログラミング > セキュリティ Archive

セキュリティ Archive

GridView内のタグ

  • Posted by:
  • 2006年10月25日 19:26

ASP.NET2.0からGridViewが追加されているので、DataGridからの置き換えをしているのですが...

現行プログラムをGridViewに置き換えると、BRタグなどのタグがそのまま表示されたりします。
というか、問題があるとするならば現行プログラムの方で、タグがそのまま表示されるってことはクロスサイトスクリプティングの脆弱性があるってことなので、GridViewが正しいのは間違いないんですが。

しかしながら、当面の問題として現行プログラムを移行しなければいけない訳で、ほうっておく訳にもいかないので調査してみました。
結果から言えば、BoundFieldを使用せずに、TemplateFieldを使用してItemTemplateの中で <%# DataBinder.Eval(Container.DataItem, "フィールド名") %> をするだけでタグが有効になりましたが。

クロスサイトスクリプティングみたいな基本的な脆弱性が残っているプログラムって、意外と多いなあと思う今日この頃。

【ASP.NET】HyperLinkFieldでJavaScriptをリンクするとリンクが表示されない

  • Posted by:
  • 2006年9月30日 12:36

タイトルに書いたとおり、HyperLinkFieldでJavaScriptをリンクするとリンクタグが表示されなくなってしまいます。(DataTextFieldは正しく表示されます)
恐らくはクロスサイトスクリプティング対策なんでしょうが、もう少しなんか方法があればいいんですが...

<asp:HyperLinkField DataNavigateUrlFields="Url" DataNavigateUrlFormatString="javascript:hoge({0})" DataTextField="Name" />

仕方がないので、TemplateFieldに置き換えたら問題なく動きましたが、やはり面倒ですね。

<asp:TemplateField>
<ItemTemplate>
    <A id="ALinkFix" runat="server" href='<%# "javascript:hoge(" + DataBinder.Eval(Container.DataItem, "Url") + ")" %>'>
    <%# DataBinder.Eval(Container.DataItem, "Name") %>
    </A>
</ItemTemplate>
</asp:TemplateField>

Index of all entries

Home > プログラミング > セキュリティ Archive

Search
Feeds
Tag Cloud
Recommend

SQLパズル 第2版 プログラミングが変わる書き方/考え方
SQLパズル 第2版 プログラミングが変わる書き方/考え方

ソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体系
ソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体系

ITアーキテクト vol.1
ITアーキテクト vol.1

オブジェクト指向における再利用のためのデザインパターン
オブジェクト指向における再利用のためのデザインパターン

増補改訂版 Java言語で学ぶデザインパターン入門
増補改訂版 Java言語で学ぶデザインパターン入門

増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編
増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編

J2EEデザインパターン
J2EEデザインパターン

アンチパターン―ソフトウェア危篤患者の救出
アンチパターン―ソフトウェア危篤患者の救出

世界でいちばん簡単なネットワークのe本―ネットワークとTCP/IPの基本と考え方がわかる本
世界でいちばん簡単なネットワークのe本―ネットワークとTCP/IPの基本と考え方がわかる本

Return to page top