【发布时间】:2011-05-11 17:41:59
【问题描述】:
我正在使用使用 Statement 的 MySQL 包装器方法,我想将其更改为 PreparedStatement 以增强安全性,不幸的是,此方法要求允许任意 SQL 作为参数,例如“WHERE id=5” .
我可以通过 PreparedStatement 以某种方式允许这样做吗?
如果没有,您能否建议另一种方法来清理数据库输入以防止 SQL 注入?
谢谢
编辑:抱歉,不清楚,整个“WHERE id=5”位每次都可以更改,而不仅仅是 5。
【问题讨论】:
-
arbitary SQL是指“5”还是完整的WHERE片段? -
@leonbloy 完整的 WHERE 片段,编辑了原始帖子以使其清晰。
标签: java mysql security sql-injection