日期:2014-05-17  浏览次数:20753 次

COOKIES和SESSION登录问题
有几个疑问 大家帮忙解答一下

1.登录成功后的页面该如何判断用户是否登录
我自己写的是把SESSION用户名和密码拿到数据库中对比 正确才算登录
有人说只要判断是否存在SESSION 存在就算登录 不存在跳转到登录页面
第二种方法是否安全?SESSION和COOKIES能否伪造直接就登录了?

2.我原来只用了SESSION登录,现在想增加COOKIES自动保存登录功能,那SESSION还需要用吗?
整个思路是怎样的?

------解决方案--------------------
判断是否已登录,只需判断 session 中是否有记录就可以了
如果担心有伪造session的,那么你把用户名和密码都存在 session 就不担心伪造和泄密了吗?

需要还是需要的,毕竟 cookie 保存于客户端,还要在网络中传来传去,被盗取的几率很大

------解决方案--------------------
探讨

一个朋友给我一种方法
只要在设置session后面添加下面这句就行
setcookie(session_name(), session_id(), time() + 2592000, "/");

但是我不太理解这句话的意思

------解决方案--------------------
自动登录需要使用 cookie,否则服务器如何知道谁是谁?
cookie 中需要保存带有失效期的用户名,还可以保存一个由用户信息加工出的标识串
当php收到 cookie 时,就认为该用户已登录
若需验证的话,就计算该用户的标识串与传入的标识串进行比较