WEB攻防-通用漏洞-SQL注入-MYSQL-union一般注入
-- 假设我们有一个简单的用户表user_table,包含id和username两个字段
-- 以下示例展示了如何防御union注入攻击
-- 安全的查询方法,使用预处理语句
-- 假设我们使用PHP的PDO来安全地执行查询
$userId = $_GET['id']; // 用户输入
// 使用PDO创建预处理语句
$pdo = new PDO('mysql:host=your_host;dbname=your_db', 'username', 'password');
$stmt = $pdo->prepare("SELECT username FROM user_table WHERE id = :userId");
// 绑定参数,避免SQL注入
$stmt->bindParam(':userId', $userId, PDO::PARAM_INT);
// 执行查询
$stmt->execute();
// 获取结果
$result = $stmt->fetch(PDO::FETCH_ASSOC);
// 输出结果
echo $result['username'];
在这个例子中,我们使用了PDO的预处理语句和参数绑定机制来安全地执行SQL查询。这样可以防止攻击者通过输入恶意数据进行SQL注入攻击。
评论已关闭