PHP登录状态保存30天,是用session 来保存, 还是有数据库来保存??   我好像觉得只能用数据库, 但没做过, 不确定, 因为session 不能保存30天那么久吧, 网站找的资料说是session 只能保存, 20分钟。

解决方案 »

  1.   

    session 的有效时间是 24分钟,也就是24分钟里如果你不刷新那么就失效了。其次一旦关闭浏览器 session即刻失效.
    所以保存登录状态的最好做法就是cookie文件.
      

  2.   

    我知道,是用cookie 加session,      哦,我想通了!! 
      

  3.   

    session需要和cookie结合使用,不然浏览器关闭就失效了。session可以在php.ini文件里面设置有效期
      

  4.   

    验证用户登录是用cookie+session的。
    session是要判断的。如果没有就验证cookie,
    cookie可以保存用户id和用户名,还有密码。不过为了安全,密码可以使用2重md5加一个密钥
    md5("key".md5("password"))
      

  5.   

    把时间戳保存在客户端的COOKIE,回访的时候取相关资料就行了。
      

  6.   

    看这篇文章:
    你会做Web上的用户登录功能吗?
    http://coolshell.cn/articles/5353.html
      

  7.   

    我突然想到一个问题,  COOKIE 不是可以被偷或者仿照的吗? 如果有人把这个电脑的所有COOKIE(包括帐号密码) 都搬到另一台电脑,那是不是这台电脑也可以登录成功的状态。  这个问题是不是需要把用户的IP 也记录下来,或者记录一个随机数到数据库!!?? 
      

  8.   

    防止伪造绑定ip是必须的. 但是登录不登录状态你用的是SESSION 除非他能获取到你的这个唯一ID.一般是无法登录的。要是都这样了,什么都有了人家要不要登录还不是随心所欲的事情?还伪造啥呢,直接用户名密码就行了嘛...
      

  9.   

    使用cookie,让cooike的有效时间长点。
      

  10.   

    一般用cookie,还可以加上一个唯一标识符的!
    PHP的唯一标识符生成函数!   uniqid
    这个是不可复制的!
      

  11.   

    cookie不安全吧?假如你登陆了管理后台或者是不希望普通用户查看的数据  如果你用cookie的话 别人用你的电脑岂不是畅通无阻了?
      

  12.   

    我想问一下, 登录成功后,很多地方要判断是否已经登录了, 这时候session  和 cookief 都有登录的状态信息, 我直接判断session  的值来判断是否已经登录成功,行不行?比如说,我直接判断某个session 值是否为空 session 能不能被人修改得到?? 
      

  13.   

    就是判断SESSION没错.无法修改
    另外你可以生成一个加密后的SESSION进行校对,需要的话.