分析Model2系统心得
前言:观摩他人的项目,学到一些新的。实践经验呀!!!
1、 怎样使用字符串处理类?从页面获取的Form类或者字段取值时使用。
2、在验证用户身份时,先推断username,再推断password,能够防止用户输入恒等式后直接登录系统。
比如:select * from tb_user where name=’管理员名称’ and pwd=’password’
从逻辑上讲,这种SQL语句并没有错误,以管理员名称和password为条件,从数据库中查找对应的记录,假设能查询到,则觉得是合法管理员。可是,这样做存在一个安全隐患,当用户在管理员名称和password文本框输入一个OR运算符及恒等式后,即使不输入正确的管理员名称和password页能够登录到系统。
比如,假设用户在挂历元名称和password文本框中分别输入aa ’ OR ’ a ‘ = ‘ a后,上面的语句将转换为例如以下SQL语句:
select * from tb_user where name=’ aa ’ OR ’a ‘ = ‘ a’ and pwd=’ aa ’ OR ’ a ‘ = ‘ a’
因为表达式‘a’=‘a’的值为真,系统将查出所有管理员信息,所以即使用户输入错误的管理员名称和password也能够轻松登陆系统。因此,这里採用了先过滤掉输入字符串中的危急字符,再分别推断输入的管理员名称和password是否正确的方法。
3、 import属性是唯一一个能够在同一个页面中反复定义的page指令的属性。
4、 防止非法用户登录系统,採用在用户登录时,网session中加入一个字段来推断。
如何在全部内部页面加入?
(1) 将session字段推断写在头部页面。
(2) 用监听器类。
如有好的建议,可留言或发至笔者邮箱:fzb_xxzy@163.com