基本情報技術者Webと認証の安全性オリジナル・公式資料照合難易度★★☆☆☆

利用者名から会員を検索するSQLを、文字列連結で作っている。利用者名に引用符やSQL断片が含まれると、検索条件の構造が変わってしまう。値として受け取る利用者名に対する基本的な修正はどれか。

A
SQL文字列の連結は残し、ブラウザ上だけで引用符の入力を禁止する

ブラウザの入力制限を通らずに要求を送ることができます。サーバー側でSQLのコードと値を分離する必要があります。

B
SQLの構造を固定し、プレースホルダーへ値をパラメーターとして渡す★ 正解

SQLを固定して値を別に渡すことで、利用者名をSQL構文ではなくデータとして扱う方法です。

C
DBアカウントを読取り専用にすれば、利用者名をSQLへ連結しても検索条件を変えられなくなる

最小権限は被害を減らす対策ですが、読取りのSQLにも検索条件の改変は起こり得ます。クエリのパラメーター化と併用します。

D
接続先をHTTPSにすれば、サーバー側のSQL連結は変更しなくてよい

HTTPSは通信経路を保護します。サーバー内部のSQL組立てによるインジェクションは別途防ぎます。

解説

パラメーター化クエリはSQLのコードと値を分離します。ここでは利用者名という値をバインドします。表名・列名などの識別子まで同じ方法で自由に置換できるとは限らず、その場合は許可リスト等を使います。

根拠資料・確認情報

対応範囲:2026年度 基本情報技術者試験 科目A・B

資料確認日:2026-10-28

同じレッスンの問題

アプリで毎日学習しよう

ゲーミフィケーションで 基本情報技術者 合格を目指す。無料・課金なし。

更新: 2026/10/28