将准备好的语句放在一边,或者我想“保持安全”,避免java中的sql注入(inject)...
我想过这样做(htmlentity 转换)?
suspectedInputvariable.replace("'","'")
.replace(";","ŧ")
.replace("\"",""");
suspectedInputvariable现在可以安全地嵌入 SQL 查询吗?
最佳答案
首先,你为什么要做这样的事情?驾驶员知道如何安全地处理琴弦。只需使用 PreparedStatement
。
其次,您还必须转义 \
和其他一些字符。如果您处理此处列出的所有字符,您的代码对于 MySQL 来说应该相当安全:http://dev.mysql.com/doc/refman/4.1/en/mysql-real-escape-string.html其他数据库的字符列表可能有所不同。
关于java - java 中的 Sql 安全字符串,无需准备语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9851456/