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