Webセキュリティの小部屋

Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから
公開日:2013年3月3日
最終更新日:2013年12月26日

SQLインジェクション対策(ASP.NET,C#,VB.NET編)

概要

ASP.NET(C#, VB.NET) で SQL インジェクション対策を実際にどのように行うのか、簡単なログイン処理で具体的に見てみましょう。

ログイン処理の概要は以下の通りです。動作環境は、.NET Framework 4.5 + SQL Server 2012 になります。

login

接続先のデータベース名は Test、テーブル名は LOGIN で、列名は ID, PASSWORD です。

.NET でデータベースにアクセスする方法は、LINQ を使用する方法と、DataReader を使用する方法があります。LINQ は使用するだけで SQL インジェクションの脆弱性を回避できるので、今後は LINQ を使用することを推奨します(参考1(Entitiy Framework),参考2(LINQ to SQL))。

LINQ を使用したログイン処理

LINQ は Entitity Framework で LINQ to Entities を使用します。事前に、エンティティの定義を作成しておく必要があります。

・Login.aspx(C#)

・Login.aspx(VB.NET)

DataReader を使用したログイン処理

・Login.aspx(C#)

・Login.aspx(VB.NET)

Welcome 画面

・Welcome.aspx(C#)

・Welcome.aspx(VB.NET)


スポンサーリンク




カテゴリー:Webアプリケーションセキュリティ

Twitter でも、いろんな情報を発信しています。



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA