用Java安全开发SQL查询

问题描述 投票:1回答:1

如何开发多个SQL条件,然后将这些条件与order by子句安全地合并到查询中?

我正在尝试编写具有潜在多个条件和order by子句的SQL语句,例如

SELECT *
FROM table_1
WHERE id = '4' AND (Multiple conditions)
ORDER BY (Column name and direction).

到目前为止,我一直在使用准备好的语句,但是它不支持具有动态ORDER BY子句或具有多个动态条件。因此,我目前的方法涉及使用字符串连接来独立开发条件,然后使用字符串格式将它们与order by子句一起添加到查询中。我认为这种方法容易受到SQL注入的攻击,因此我一直无法找到一种安全的替代方法。我已经考虑过动态查询,但是在管道的这一部分中我没有访问权限。我也考虑过清理,但这仍然会给JSON或HTML攻击留下漏洞。我还考虑过为每种情况写出独立的查询语句,但这根本无法扩展。

感谢您的帮助,我一段时间以来一直在寻找解决方案。

java sql sql-server prepared-statement sql-injection
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.