SQL 拼接字符串有注入风险,改成参数化查询

拼接字符串会把用户输入当 SQL 执行,改成占位符传参就能挡住注入。

Java 用 PreparedStatement 预编译,参数用 setXxx 逐个塞进去。

Python 用游标 execute 传参数元组;表名和排序字段不能占位,要白名单校验。

String sql = "SELECT * FROM users WHERE name = ? AND age > ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, name);
ps.setInt(2, age);

cursor.execute("SELECT * FROM users WHERE name = %s", (name,))
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容