こんな人におすすめ:
- ウェブアプリケーション開発者やプログラマー
- データベース管理者(DBA)
- セキュリティエンジニアや情報システム担当者
プロンプト例:
「SQLインジェクション対策としてパラメータ化クエリを利用する際の基本的な考え方と、PHPやPythonでのサンプルコードを示してください。」
プロンプト例の出力結果:
パラメータ化クエリとは、SQL文の中に直接ユーザー入力を埋め込まず、プレースホルダー(?や$1など)を用いてSQL文と入力値を分離する技術です。これによりSQLインジェクション攻撃を防ぎます。たとえば、PHPのPDOではprepare()とbindParam()を使い、Pythonのsqlite3では?プレースホルダーとexecute()の引数で値を渡します。これにより悪意のあるSQLコードが実行されるリスクを軽減できます。
【PHP例】
$stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id');
$stmt->bindParam(':id', $userId, PDO::PARAM_INT);
$stmt->execute();
【Python例】
cursor.execute('SELECT * FROM users WHERE id = ?', (user_id,))
このようにパラメータ化クエリはデータベースの安全性を大幅に向上させる重要な対策です。