以常理来考虑的话,这是个很完整的程序了。而在实际的使用过程中,整套程序也的确可能正常使用。
但是如果Userid的值和password的值被赋于:safer'' or''1''=''1'' 这时,sql="select * from admin where username="&user&" and password="&pwd&"" 就成了:
sql="select * from reg where user=safer'' or''1''=''1'' and pass=safer'' or''1''=''1''
怎么样?!我不说大家也明白了吧!
既然有这样的问题,接下来我们就来看看如何解决它。从上面的程序中各位也可以看出,只要对用户输入的数据进行严格过滤就可以了。具体可以参下面的程序:
同样是先取得用户输入数据,然后分析用户输入的每一个字符,如发现异常,则转到错误页面。
if cl="" or us="%" or us="<" or us=">" then 这一句中可以加入任意的过滤字符,跟据具体情况而定。
文章转载地址:http://www.cnpaf.net/Class/hack/06101110492187892869.html