第11章 高度なプログラミング / 第4回 模擬試験
PHPのSQLインジェクションに関する次の記述のうち、誤っているものはどれか。
SQLインジェクションは、悪意あるSQL文をアプリケーションに注入し不正な操作を行わせる攻撃である。
プリペアドステートメントを使うと、SQL文とデータが分離されるため対策になる。
ユーザー入力値をエスケープせずそのままSQL文に連結すると危険である。
SQLインジェクションはHTMLの表示にのみ影響し、データベースには一切影響しない。
正解
解説
SQLインジェクションは、データベースへの不正なクエリ実行(データの改ざん・漏洩・削除等)を引き起こす攻撃であり、HTML表示問題ではなくデータベースそのものに影響します。(参照: 独習PHP 第4版 第11章 高度なプログラミング 11.2.2節 SQLインジェクション p.603〜605)