首页 新闻 会员 周边 捐助

用户表查询性能问题

0
[已关闭问题] 解决于 2012-11-14 11:35

查询用户登录,一般用检测cookie后,select * from user where username ="dddd"

如果我在cookie里写入userid

用select * from user where userid =1111,然后再来判断,会不会有什么安全问题?

freewzx2005的主页 freewzx2005 | 初学一级 | 园豆:8
提问于:2012-10-25 09:18
< >
分享
其他回答(4)
0

select 时候,尽量返回自己所需要的字段列表,比如select a,b from 表

另外,cookie保存登录信息,一般都是把用户名和密码一起保存的,密码要加密 ,后台代码通过解密去数据库匹配用户(具体加密方法可搜索)

select id from 用户表 where 用户名=a and 用户密码=b 这样才能防止伪造cookie登录等。

Plusone | 园豆:344 (菜鸟二级) | 2012-10-25 11:50
0

最好是给sql提供参数,而不是直接的拼接一下。

还有对你传入的参数需要个验证。

chenping2008 | 园豆:9836 (大侠五级) | 2012-10-25 13:35
0

对于楼上说的,对传入的参数做验证,我认为是必须的,特别是它包含特殊字符的情况,例如--,这会注释掉其后的语句,直接使用用户名即可登录……

ms_water | 园豆:510 (小虾三级) | 2012-10-25 13:53
0

恩~同意楼上两位说的,如果是简单的字符的话会有传说中的XSS漏洞。。。。还有不知道楼主为什么一定要用cookie呢?用session做这样的验证信息不是很好吗?cookie本来就是一个可以伪造的东西,如果非要用,最好能用加密以后的cookie,比如MD5啦,混淆字符啦神马的。。。。

综上所述,安全隐患有~可能出现的危险度★★★★☆

Happy Coder | 园豆:238 (菜鸟二级) | 2012-10-25 15:01
0

都没用,只要是用Cookie就存在被伪照的问题。我用sniffer捕获了。然后拿原用户的Cookie post过去照样能伪装。

重要的用SSL吧

luofer | 园豆:468 (菜鸟二级) | 2012-10-25 16:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册