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