SQL注入

来源:10-1 怎么正确的选择数据类型,让维护不再是噩梦

街边七号

2021-03-13

一哥你好,听说你最近头不疼了。我来问个小问题。  

最近在搞个弄SQL的东西,但是又不太方便能使用到PreparedStaetement,需要自己处理一下。  

问题是:对于Java这种强类型语言来说,是不是只有字符串类型参数才存在被SQL注入的可能呢?是不是其他非字符串类型参数都可以被强类型机制给隐式的处理掉呢(也就是最终会运行时直接抛出异常从而不会被注入攻击?)


写回答

1回答

张勤一

2021-03-14

宇文科学家你好:

    你这个问题提的还是有一定难度的,而且你的推论是完全正确的。Java 这种强类型语言,如果你试图注入 or 1=1,Java 则会把一个字符串转换为 int 类型,则会抛出异常,无法继续执行。所以,基本上可以认为,Java 这种强类型语言,只有字符串类型的参数才可能 SQL 注入。


    我是勤一,欢迎随时找我!



1
0

Java实操避坑指南 SpringBoot/MySQL/Redis错误详解

掌握业务开发中各种类型的坑,,Java web开发领域通用

466 学习 · 204 问题

查看课程