验证中“参数”作用

2014-11-24 07:55:47 ? 作者: ? 浏览: 3
对于初学者,普通验证好像没法体现出“参数”的作用,但是和数据库交互的时候,由于验证数据库中数据的时候需要用到SQL语句,就会造成 漏洞。比如“ select * from userData where userName='abcd' and passWord=' 'or'1'='1 ' “其实这个where条件就是没有条件,因此验证等于没有验证。所以才有了”参数“的价值。
跟之前普通验证差不多,只不过现在多了一个连接 数据库,并传入SQL语句,将查询的结果返回给程序再做出判断。
普通验证的漏洞:
\
特殊验证:需要”参数“处理:
string sqlStr = string.Format("select count(*) from userData where userName=@userName and passWord=@passWZ http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcmQmcXVvdDssIHVOLCBwVyk7PGJyPgogICAgIFNxbFBhcmFtZXRlciB0ZW1wUDEgPSBuZXcgU3FsUGFyYW1ldGVyKCZxdW90O0B1c2VyTmFtZSZxdW90OywgdU4pOzxicj4KICAgICBTcWxQYXJhbWV0ZXIgdGVtcFAyID0gbmV3IFNxbFBhcmFtZXRlcigmcXVvdDtAcGFzc1dvcmQmcXVvdDssIHBXKTs8YnI+CiAgICAgY21kLlBhcmFtZXRlcnMuQWRkKHRlbXBQMSk7PGJyPgogICAgIGNtZC5QYXJhbWV0ZXJzLkFkZCh0ZW1wUDIpOzxicj4KICAgICA8aW1nIHNyYz0="https://www.cppentry.com/upload_files/article/57/1_vavjh__.jpg" alt="\">

只有数据完全和数据库内的信息一样,才能验证成功。

附上代码验证中”参数“作用

备注:写于2013年4月2日

-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: