Slide 11
Slide 11 text
SQLインジェクションの基礎知識
n SQLインジェクションの対策(PHP)
setAttribute(PDO::ATTR_EMULATE_PREPARES,
false);
// エラー発⽣時に例外を投げる
$dbh->setAttribute(PDO::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION);
//プリペアドステートメント
$sql = “SELECT * FROM 社員 WHERE 社員番号 = ?”;
$stmt = $dbh->prepare($sql);
//パラメータ
$id = “A003”;’
//パラメータのバインド
$stmt->bindParam(1, $id, PDO::PARAM_STR);
$stmt->execute();
//取得した値の出⼒
while ($row = $stmt->fetch()) {
for ($col = 0; $col < 4; $col++) {
echo $row[$col];
}
echo “¥n”;
}
} catch (PDOException $e) {
echo $e->getMessage();
}