黑马程序员_不安全的用户名密码验证
来源:互联网 发布:南京大汉网络 编辑:程序博客网 时间:2024/05/16 04:47
------- android培训、java培训、期待与您交流! ----------
在验证用户名和密码时使用的方法是,先用用户名(uid)得到一个User类型的对象user,再用equals方法匹配user的password属性和表单提交的password数据是否相等。为什么要这样做呢?为什么不直接将表单提交的数据uid和password传递到DAO类,然后编写如下的查询语句,如果有结果返回则表明登录成功?
SELECT * FROM user WHERE uid=” + ‘uid’ +” and password=” ‘+ password +’ ”
这是许多初学者和经验不足的程序员会写出的语句,表面上看起来这样的语句没有任何问题,可是当遇到有意图的破坏者,这将会产生严重的后果。试想,如果用户在登录表单的密码输入框中输入的内容为“ ‘or’ ‘1’=‘1’”,而不管在用户名输入框中输入什么内容,以上的SQL语句组合完毕过后将有如下的形式:
SELECT * FROM user WHERE uid=’asdf’ and password=’ ’ or ‘1’ = ‘1’
显然,无论用户名输入什么,这条语句总能将user表中的所有内容查出来,也就是说,破坏者只需要输入一些特殊的字符就可以轻易地登录到系统,这无疑是一个极大的漏洞,潜在的损失也就是不可估量的。
因此,在验证用户名和密码时使用的方法是,先用用户名(uid)得到一个User类型的对象user,再用equals方法匹配user的password属性和表单提交的password数据是否相等。
- 黑马程序员_不安全的用户名密码验证
- jqueryde的用户名+密码验证
- 黑马程序员——自己做的简单的用户名密码加密方式
- 登录用户名和密码的验证
- php用户名和密码的简单验证
- JAVA Web简单的用户名密码验证
- 关于Django的验证用户名密码登录
- jquery简单的用户名密码验证
- 验证用户名和密码
- 用户名密码验证程序
- 用户名和密码验证
- JS验证用户名密码
- HiveServer2用户名密码验证
- HiveServer2用户名密码验证
- 登陆用户名密码验证
- jsp 用户名、密码验证
- 用户名密码验证
- 用户名密码判断验证
- IOS 如何选择delegate、notification、KVO?
- 常用软件包列表
- linux 学习资料、Linux学习书籍(入门书籍、shell编程)推荐
- C#中 XML 读写文件的方法(xmlreader,xmlwriter)
- 一谷补一脏 五谷怎样吃最养生
- 黑马程序员_不安全的用户名密码验证
- IDP申请教程(公司版)
- Android - 引用计数(sp、wp、Refbase)
- 三年经验的C,超过两题答不出请离开软件界
- linux内核学习笔记之——list_for_each_entry
- JVM
- 访问者模式
- 编写javacript函数,以ajax返回值作为函数的返回值
- 如何使用VBA生成随机字符串