是为了防止SQL注入的。
如果在SQL语句末加上这名,就成了,select * from table where name=name password=1 or 1=1
不就成了,无条件通过了么。
当然本身不会像我说的这么简单,其间还有一些过程需要处理,但大致原理是这样的。
如果在SQL语句末加上这名,就成了,select * from table where name=name password=1 or 1=1
不就成了,无条件通过了么。
当然本身不会像我说的这么简单,其间还有一些过程需要处理,但大致原理是这样的。
解决方法
1.replace '
2.密码加密
3.SQL语句改一下select pwd from usr where names='"&names&"'
然后再比较pwd
4.........
提交的数据为1' or '1'='1
上面变为 select * from user where name='1' or '1'='1'永远成立
不知道暗号化之后会不会有这个问题?