我在做一个网站,本来一般出于安全性的考虑,会把登录用户的重要信息保存在Session中
但我这网站有很多弹出窗口,使用弹出窗口时Session特别容易丢失,想了很多办法也没办法解决,现在我打算用Cookies来保存一个用户的重要信息,就是用户的ID值,网站中很多功能都是依靠这个ID值来进行的,比如发布信息,修改删除信息等,但这么做的安全隐患非常令我担心
我做了个测试
当我给这个存ID的Cookies设置有效期时,那么系统会在本地机的Cookies文件夹下保存信息,这样任何人都可以对其进行修改,这样毫无安全可言
但是如果我没给Cookies设置有效期的话,那么系统就不会在Cookies文件夹下保存信息文件
我想问的问题是,如果我不给Cookies设置有效期,那么它就被保存在内存中,本地机上找不到它的信息文件,是不是可以理解为我保存的ID值就非常安全?任何人都无法对它进行修改了呢?

解决方案 »

  1.   

    不知道用ViewState也会出现如上的问题?
    要不直接在数据库里做!数据可能会更安全些!
      

  2.   

    楼上可能没看明白
    那个ID值是说用户的ID值,一般论坛都把这类信息保存在Cookies或Session里面以标识某个用户的
    ,用ViewState根本不现实
      

  3.   

    数据库表中增加个 memHashKey ,每次用户登陆时随机生成,可将用户名和它一起写入cookies,退出时清空这个值。
      

  4.   

    如果用户没有退出或者选择保存了cookies,这个时候还是留有机会的,
    当比对用户名和memHashKey都符合后,可用用户最后一次登陆的IP和当前IP比对,如果这个都符合的话,呵呵。。
      

  5.   

    以上是PJBLOG2的做法。
    再不放心把cookies加密再保存到本地??
      

  6.   

    这么做太麻烦了,我只是想知道,不给Cookies设定有效期时,Cookies没有保存在本地机上,而是保存在内存中到底安不安全呢?
    好象Cookies是可以共用的吧?这个项目可以对这个Cookies操作,其他项目也可以对这个Cookies操作吧?