SQLインジェクション
脆弱性を含んだスクリプトに対して、パラメータに不正なSQL文を渡すことでデータベースを操作する攻撃。この攻撃をされると、通常ではアクセスできないようなテーブルのデータを出力したり、データの消去、改ざんなどの被害を受ける。
$user_id = $_POST['user_id'];
$sql = "SELECT * FROM t_customer WHERE user='$user_id'";
';DELETE FROM t_customer ;
という値を渡されると、t_customerテーブルの全データが消えてしまう。
この脆弱性を回避するためには、ユーザからの入力値に対してエスケープ処理を施す、などの適切な処理が必要となる。PHPには既に、多くのデータベース関数の中に適切なエスケープを施す関数が用意されている。
関連Webサイト
Weblioに収録されているすべての辞書からSQLインジェクションを検索する場合は、下記のリンクをクリックしてください。

- SQLインジェクションのページへのリンク