SQL注入 如果你将用户输入的东西没做处理就交给后台做操作数据库处理,那就会出现这种漏洞 例如你验证用户名是否重复的SQL语句,select userid from usertable where username=XXX 这个XXX就是用户输入的名字 但如果用户这么输入:'abc' or '1'='1' 当执行的时候就会出现:select userid from usertable where username='abc' or '1'='1' 那你的查询语句不就永远都返回true了 如果是验证密码的,那不就等于没有密码了吗? 对于防范,google下会有一大堆
如果你的MVC,SSH,SPRING的技术之后,也许就不会这样想啦SQL注入 如果你将用户输入的东西没做处理就交给后台做操作数据库处理,那就会出现这种漏洞 例如你验证用户名是否重复的SQL语句,select userid from usertable where username=XXX 这个XXX就是用户输入的名字 但如果用户这么输入:'abc' or '1'='1' 当执行的时候就会出现:select userid from usertable where username='abc' or '1'='1' 那你的查询语句不就永远都返回true了 如果是验证密码的,那不就等于没有密码了吗?以上观点都是对的,主要是sql 注入 就是嵌套查询
如果你将用户输入的东西没做处理就交给后台做操作数据库处理,那就会出现这种漏洞
例如你验证用户名是否重复的SQL语句,select userid from usertable where username=XXX
这个XXX就是用户输入的名字
但如果用户这么输入:'abc' or '1'='1'
当执行的时候就会出现:select userid from usertable where username='abc' or '1'='1'
那你的查询语句不就永远都返回true了
如果是验证密码的,那不就等于没有密码了吗?
对于防范,google下会有一大堆
如果你将用户输入的东西没做处理就交给后台做操作数据库处理,那就会出现这种漏洞
例如你验证用户名是否重复的SQL语句,select userid from usertable where username=XXX
这个XXX就是用户输入的名字
但如果用户这么输入:'abc' or '1'='1'
当执行的时候就会出现:select userid from usertable where username='abc' or '1'='1'
那你的查询语句不就永远都返回true了
如果是验证密码的,那不就等于没有密码了吗?以上观点都是对的,主要是sql 注入
就是嵌套查询
超级新手才会犯的错误啊.......最好的办法用存储过程........总之不要自己拼SQL语句就OK了