user-pic

[讨论]关于文本Session实现的一点困惑

Vote 0 Votes

纯粹技术探讨。
近来在研究自定义文本Session,根据我自己对Session的理解和体会,实现办法可以是:

1。用户登陆,密码校对后,以一种算法随机生成一随机数字Session_id,具体实现就是服务器生成一纯文本文件,就以Session_id命名,用户id,密码等敏感信息写入这个文本,本地cookie写入用户id和Session_id。。由于登陆时候可以选择Session/cookie保持实效。这个数字比如[-1(不保存)+30(保存30天)等。。],同时写入Session文本和cookie。。

2。这样,如果选择保持登陆信息(比如+30),则在30天内用户再次访问时候,从cookie中获取Session_id。通过读取服务器上的Session_id文本,来检验用户id和密码。。如果通过。则自动认为登陆。

现在我的问题就是远程服务器上的Session文本文件的处理。大家知道,Session_id是随机产生的,那么相同的用户在不同的地方,不同的登陆时间得到的Session_id都是不同的,那么如果不对这些文本处理。久而久之,肯定有很多废弃了。。。那么应该对这些进行删除处理的。。那么机制呢?

文本的特殊性质,为了节省资源,一般只有在用户重新访问的时候才进行Session文本的时效验证。那么那些可能永远也访问不到的Session文本就验证遥遥无期了。

如果采用一种机制对Session文本进行删除,比如把时效写入Session文本,按照时效自动删除。。。但是时效选择比较长的呢?他可能是有效的Session,也可能是废弃的Session。如果删除,造成该用户下次不能自动登陆。。那就失去保持的含义了。如果不处理。则浪费空间。影响效率。 困惑ing。。。

希望各位高人指点。还有我对Session理解不对的地方也请不吝指教:)

17 Replies

| Add a Reply
  • 曾研究過的一個項目...汗.....

    你產生一個 無設刪除時間的Session  及 產生一個 設了時間的Session
    並使用 notpad打開看看吧.....

  • 恩。。反正我现在不想让他们永久登陆了。。所以。。删除。哈哈:)

  • 我的意见,如果选择永久登陆,那么生成的Session文件名以前加一个特殊的标记 比如 leo 之类的,这样每隔一段时间清理文件的时候可以保留这些。。

    不过,如果永久登陆的人的cookie丢失了。。那。。。

  • 下面引用由hztz在 2004/11/02 00:29am 发表的内容:
    我的意见,如果选择永久登陆,那么生成的Session文件名以前加一个特殊的标记 比如 leo 之类的,这样每隔一段时间清理文件的时候可以保留这些。。
    不过,如果永久登陆的人的cookie丢失了。。那。。。

    恩。。。和我想的一样。。。就是我不知道这个文本是否是废弃的。。

    所以。。可以选择7天=永久?就是不允许永久登陆。最长也只能选择7天登陆。。

    或者? 这个文件保留。当一定时间比如10天没有人来访问它?认为它已经废弃?这样如果他第11天来了,对不起,请登陆吧?呵呵:)
  • 那就用

    用户名 + timemark + Session id

    作文件名字。。。timemark表示保存的时间长短

    这样登陆的时候就能直接检查是否过期了。。

  • 似乎太长了吧?
    我觉得直接修改属性,把他的创建时间修改成要过期的日子?也许一个stat函数就解决了?
    我已经决定分目录了:)

  • 下面引用由路杨在 2004/11/02 00:45am 发表的内容:
    似乎太长了吧?
    我觉得直接修改属性,把他的创建时间修改成要过期的日子?也许一个stat函数就解决了?
    我已经决定分目录了:)

    万一服务器时间错误呢?咔咔
  • 下面引用由hztz在 2004/11/02 00:53am 发表的内容:
    万一服务器时间错误呢?咔咔

    时间不是读取的,是自己算出来写进去的,和实际的访问时间没有关系拉:)
  • 让用户重新登陆一下没关系的嘛,几秒的事情

    不如 SESSION 每月定期删除一次...

  • 下面引用由红岭小石榴在 2004/11/03 00:00am 发表的内容:
    让用户重新登陆一下没关系的嘛,几秒的事情
    不如 SESSION 每月定期删除一次...

    恩,目前我就是准备取消 “永久登陆” 这个选项
  • 恩,一年都不重登陆一次的利率是很小的

  • 下面引用由红岭小石榴在 2004/11/10 00:56am 发表的内容:
    恩,一年都不重登陆一次的利率是很小的

    一般系统都要重装一次呢。。
  • 现在me很懒。。不装系统了。。。
    严重跑题中。。。

  • 世界尽头失落在海里的城市,狮子流泪的地方。让我们跑题……

  • 既然有cookies 还要进程号干嘛呢?
    没有cookies用进程号还可以理解的说~~~~~~~~~~~~~~~

Add a Reply

Forum Groups

Good Perl Books

Perl 學習手札

作者:簡信昌

Perl 學習手札 , 一本优秀的中文Perl在线学习资料。

Perl 程序讨论区

12 50

Last Topic: [注意]本区文章归档区 by 路杨 on Oct 16, 2006

事物处理及其他

113 1410

Last Topic: 踩个脚印 by 眼睛oo on Dec 4, 2010

测试私密区

测试私密区

18 88

Notice: 用于测试程序或者不可告人之秘密。不要问我要密码哦。。[此为原LB_ES论坛系统保留项,只限原有权限朋友进入,不再接受注册]

OpenID accepted here Learn more about OpenID