SQL注入防护 #
一、SQL注入原理 #
php
<?php
$sql = "SELECT * FROM users WHERE id = $id";
二、防护方法 #
2.1 预处理语句 #
php
<?php
$stmt = $pdo->prepare('SELECT * FROM users WHERE id = ?');
$stmt->execute([$id]);
2.2 参数绑定 #
php
<?php
$stmt = $pdo->prepare('SELECT * FROM users WHERE email = :email');
$stmt->execute(['email' => $email]);
三、最佳实践 #
- 始终使用预处理语句
- 不要拼接SQL
- 验证输入
- 最小权限原则
四、总结 #
本章学习了SQL注入防护,下一章将学习CSRF防护。
最后更新:2026-03-26