查询用户登录,一般用检测cookie后,select * from user where username ="dddd"
如果我在cookie里写入userid
用select * from user where userid =1111,然后再来判断,会不会有什么安全问题?
select 时候,尽量返回自己所需要的字段列表,比如select a,b from 表
另外,cookie保存登录信息,一般都是把用户名和密码一起保存的,密码要加密 ,后台代码通过解密去数据库匹配用户(具体加密方法可搜索)
select id from 用户表 where 用户名=a and 用户密码=b 这样才能防止伪造cookie登录等。
最好是给sql提供参数,而不是直接的拼接一下。
还有对你传入的参数需要个验证。
对于楼上说的,对传入的参数做验证,我认为是必须的,特别是它包含特殊字符的情况,例如--,这会注释掉其后的语句,直接使用用户名即可登录……
恩~同意楼上两位说的,如果是简单的字符的话会有传说中的XSS漏洞。。。。还有不知道楼主为什么一定要用cookie呢?用session做这样的验证信息不是很好吗?cookie本来就是一个可以伪造的东西,如果非要用,最好能用加密以后的cookie,比如MD5啦,混淆字符啦神马的。。。。
综上所述,安全隐患有~可能出现的危险度★★★★☆
都没用,只要是用Cookie就存在被伪照的问题。我用sniffer捕获了。然后拿原用户的Cookie post过去照样能伪装。
重要的用SSL吧