SQLインジェクション対策について、Webアプリケーションの実装における対策とWebアプリケーションの実装以外の対策として、ともに適切なものはどれか。
Webアプリケーションの実装における対策 | Webアプリケーションの実装以外の対策 | |
ア | Webアプリケーション中でシェルを起動しない。 | chroot環境でWebサーバを実行する。 |
イ | セッションIDを乱数で生成する。 | TLSによって通信内容を秘匿する。 |
ウ | パス名やファイル名をパラメータとして受け取らないようにする。 | 重要なファイルを公開領域に置かない。 |
エ | プレースホルダを利用する。 | データベースのあかうんとがもつデータベースアクセス権限を必要最小限にする。 |
答え エ
【解説】
SQLインジェクション対策としてWebアプリケーションの実装で有効な方法には、SQL文中のユーザー入力を割り当てる部分に特殊文字を使用したひな形を用意し、後から実際の値を割り当てる機構であるプレースホルダが有効です。
Webアプリケーション以外の対策としては、基本的なことですがデータベースのアクセス権限を必要最小限にして不正なアクセスを防止します。
【キーワード】
・SQLインジェクション