有几个疑问 大家帮忙解答一下1.登录成功后的页面该如何判断用户是否登录
我自己写的是把SESSION用户名和密码拿到数据库中对比 正确才算登录
有人说只要判断是否存在SESSION 存在就算登录 不存在跳转到登录页面
第二种方法是否安全?SESSION和COOKIES能否伪造直接就登录了?2.我原来只用了SESSION登录,现在想增加COOKIES自动保存登录功能,那SESSION还需要用吗?
整个思路是怎样的?

解决方案 »

  1.   

    判断是否已登录,只需判断 session 中是否有记录就可以了
    如果担心有伪造session的,那么你把用户名和密码都存在 session 就不担心伪造和泄密了吗?需要还是需要的,毕竟 cookie 保存于客户端,还要在网络中传来传去,被盗取的几率很大
      

  2.   

    一个朋友给我一种方法
    只要在设置session后面添加下面这句就行
    setcookie(session_name(), session_id(), time() + 2592000, "/");但是我不太理解这句话的意思
      

  3.   

    是把session的ID存到COOKIES里?
    为什么能达到自动登录的效果
      

  4.   

    那是你要不要自动登录而不是保存到cookie就自动登录了....
      

  5.   

    你朋友是错的!
    sessionid 在最后一次访问后的 1440 秒以后就自动消失(session.gc_maxlifetime = 1440)
    所以用 cookie 存储 session_id() 是不能达到自动登录的目的的
      

  6.   

    window 吧?
    不要存在侥幸心理
      

  7.   

    是在本机测试的吧,session过期不会即时删除的.当请求过来的时候根据一定的概率去触发清理过期session的。你在本机测试没有其他的会话,所以不会删除
      

  8.   

    那这样可以不
    把session的值存在cookies里
    或者是什么思路?
      

  9.   

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