java - 如何为 SQL 查询转义字符串(没有准备好的语句)

标签 java mysql sql jdbc

我知道准备语句的威力,但我不能在这里使用它。我通过 HTTP 而不是通过 JDBC 将 sql 查询发送到外部服务器。 如何为 SQL 查询转义字符串?有办法通过 JDBC 做到这一点吗?或者我应该为此使用自定义类/函数?

附注我还连接到其他数据库,因此我可以使用 JDBC 函数。

最佳答案

这听起来很不安全。如果您通过 HTTP 发送 SQL 语句,那么您可能会受到中间人攻击(以及其他攻击)的危害。除此之外,任何普通水平的程序员都可以尝试对您的数据库执行恶意 SQL,如果他们看到您正在发送 SQL 语句。他们可以创建用户、更改密码、检索敏感数据...您确定这是处理问题的最佳方式吗?

关于java - 如何为 SQL 查询转义字符串(没有准备好的语句),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11448534/

相关文章:

java - gradle 刷新后 jcenter 502 网关错误

mysql - 为什么外键不更新?

mysql - 是否可以将 SELECT-IN-SELECT 查询转换为 JOIN 查询?

mysql - 检查 SQL 中的“交易起始日期”和“交易截止日期”之间的“搜索起始日期”和“搜索截止日期”

java - 如何使用 Java 流式传输 HTTP 请求的主体

java - 为什么 java 代码不将文本转换为 utf8 字符?

多台服务器上的 PHP/MySQL。好的切入点

php - 将数据库中的值插入 JWPlayer 设置 'file' 源

java - Jackson 数组或字符串 : Can not deserialize instance of java. lang.String 超出 START_ARRAY token

php - 为什么我的代码输出每个图像 8 次?