SQLインジェクション - PHPプロ!用語集

用語集

Glossary

【同】 SQL Injection

解説

脆弱性を含んだスクリプトに対して、パラメータに不正なSQL文を渡すことでデータベースを操作する攻撃。この攻撃をされると、通常ではアクセスできないようなテーブルのデータを出力したり、データの消去、改ざんなどの被害を受ける。

脆弱性のあるスクリプトの例:

$user_id = $_POST['user_id']; $sql = "SELECT * FROM t_customer WHERE user='$user_id'";

このようなスクリプトに対し、user_idとして

';DELETE FROM t_customer ;

という値を渡されると、t_customerテーブルの全データが消えてしまう。 この脆弱性を回避するためには、ユーザからの入力値に対してエスケープ処理を施す、などの適切な処理が必要となる。PHPには既に、多くのデータベース関数の中に適切なエスケープを施す関数が用意されている。

関連サイト

用語集メニュー

Glossary Menu



Pick Up Q&A

Q
array_mergeの再帰処理の動作について
 このエントリーをはてなブックマークに追加 
A
>1個になったとき$leftを返しますが、 >このとき、最終的な$leftはnullになるかと思います。 いいえ、最後は「渡された配列をそのまま」返します。要素が2以上あるときとの違いは(並べ替えずに戻るので...

>>続きを読む

再帰関数は最初の内は混乱しますが、非常に上手く使える場面もいずれ出てきます。これを機会に学んでいけるといいですね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)