当查询作为 Java 中方法的参数出现时,如何避免 SQL 注入?
Posted
技术标签:
【中文标题】当查询作为 Java 中方法的参数出现时,如何避免 SQL 注入?【英文标题】:How to avoid SQL injection when a query is coming as a parameter of a method in Java? 【发布时间】:2015-08-25 04:01:51 【问题描述】:public static RepositoryItem[] executeQuery(Repository repository, String query,Object[] params)
RepositoryItem[] data = null;
try
RepositoryView repositoryView = repository.getView(viewName);
RqlStatement statement = RqlStatement.parseRqlStatement(query);
查询是参数化查询。
【问题讨论】:
您需要更具体一点。您想阻止params
中包含的任何SQL 被执行,还是担心query
的内容?
【参考方案1】:
根据您使用的数据库,您可以使用具有只读访问权限的用户的凭据定义 SQL 连接或 DBConnectionPool。 任何未经授权的语句都将被 DBMS 拒绝。
【讨论】:
以上是关于当查询作为 Java 中方法的参数出现时,如何避免 SQL 注入?的主要内容,如果未能解决你的问题,请参考以下文章
我在写一个java泛型接口实现时为啥报出double为意外的类型啊?源程序如下!