Home > Windowsでハマる > ASP.NETでハマる Archive

ASP.NETでハマる Archive

GridView内の項目のエスケープ処理

再びASP.NETねた。

GridViewに表示される項目について、HTMLエンコードをかけたいのだが、例によってよくわからずハマる。

調べたところ、以下の方法でエスケープ処理が可能だった。

  1. HTMLエンコードしたい項目をTemplate Fieldに変換する。
  2. aspxファイルをソースビューに切り替えて、該当項目に対し「System.Web.HttpUtility.HtmlEncode」する。
  3. 以上

こんな感じになる。
例ではハイパーテキスト項目である「title」をHTMLエンコードしてみた。

<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("id", "xml/{0}.xml") %>'
Text='<%# System.Web.HttpUtility.HtmlEncode(Eval("title")) %>'></asp:HyperLink>
</ItemTemplate>

ASP.NET2.0でのGridViewでのページング処理

久しぶりにASP.NETをいじっています。

昔のASP.NET1.1の場合、DataGridでのページング処理には「PageIndexChanged」イベントハンドラにロジックを記述すれば良かったと記憶していたのだが、ASP.NET2.0になって同じイベントハンドラに処理を記述してもうまくいかない。
てか、「e As System.Web.UI.WebControls.GridViewPageEventArgs」の引数がイベントに無い。

どうするか困ってたら、ああ、なるほど「PageIndexChanging」に記述すれば良いのね!
こんな感じ

Private Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging

Me.GridView1.PageIndex = e.NewPageIndex
subDataBind()

End Sub

同じことでハマっている人がいたらいけないのでメモ。

ASP.NETでのデータベース接続文字列の記述場所

最近、仕事関連でASP.NET2.0をいぢってます。

システム管理者の目でいぢってて気がついたのですが、
ASP.NET2.0からデータベースの接続文字列を、Web.configの「connectionStrings」セクションに記述できるようになっているのですね。
で、MS SQL ServerなんかでWindows認証する場合以外は、接続文字列中にデータベースへの接続時のユーザ名とパスワードをweb.configファイル中に記述してしまうことになります。
具体例はこんな感じ。

<configuration>
:
<connectionStrings>
 <add name="xxsystem"
      providerName="system.data.mysqlclients"
      connectionString="Database=xxsystem;Data Source=DBサーバ; User Id=ユーザ名;Password=パスワード"
 />
</connectionStrings>

ところが、このweb.configファイルはデフォルト平文なので、Webサーバのコンソールを扱う権限のある人であれば簡単にweb.configの設定情報を参照してデータベースの接続ユーザ名とパスワードを知ることができてしまいます。
これはセキュリティ上問題です。

この問題の回避策として、Microsoftから「aspnet_regiis」というツールが提供されているので、これを使ってweb.configの重要な部分を暗号化できるそうです。
参照元:知識.com様
http://www.e-chishiki.com/jpn/articles/information_security/application_security/cryptography/encrypting_web_config

しかし、ここで問題点。

続きを読む…

Home > Windowsでハマる > ASP.NETでハマる Archive

Calendar
« 2017 年 8月 »
S M T W T F S
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
最近の投稿
 

Return to page top