sql="select * from admin where username='" & replace(username,"'","''") & "' and password='" & replace(password,"'","''") & "'"
'只是把单引号替换成两个单引号!能绕过不?
sql="select * from admin where username='" & replace(username,"'","''") & "' and password='" & replace(password,"'","''") & "'"
'只是把单引号替换成两个单引号!能绕过不?
只要做到以下三点,你的程序就不怕SQL注入攻击了
1.字符型参数只屏蔽单引号就可以了,推荐替换成中文单引号而不是2个英文单引号(也许有时候会有合法的单引号,比如英文文章,可以用中文单引号替换,要比替换成双引号好些)
2.数字型参数只要判断是不是数字(一般是整数)
3.如果是ASP程序,做到以上2点足够了,如果是JSP或者PHP等,尽量不使用动态拼sql串,最好使用参数化查询
绕不过了。你这种是标准屏蔽SQl注入漏洞的修复方法。
还有一种方法。查看
http://www.918x.cn/post/465.html