作者HuangJC (吹笛牧童)
看板PHP
标题Re: [请益] 请问session的SID
时间Tue Jul 22 21:51:00 2008
: → richer :不同的视窗拥有不同的 SID 07/21 14:01
: → richer :phpBB的登入以SID为主 自动登入时才看cookie资料~ 07/21 14:04
: → HuangJC :对,我现在得找到设定,让 cookie 跨视窗 07/21 14:28
: → HuangJC :因为我们在 CakePHP 那端的程式办到了 07/21 14:28
: → weiyucsie :看看是不是cakephp cookie的expires有设定日期 07/21 15:01
: → HuangJC :在 firefox 不会有这个BUG,日期是狠狠设到一年 07/21 15:08
: → HuangJC :耶,感谢,cookie 太多看乱了;真的有一个设IE关闭清除 07/21 15:22
今天又找到一个
全域搜寻时没找出来
设定 sid 关闭时清除的有两个地方,只要一个没设时间,BUG 就出现了
: → starjou :it depends on browser 07/22 01:24
: → starjou :IE6 如果你在现有视窗按 ctrl-N,session 会共用 07/22 01:24
: → starjou :从功能表开,会是新 session 07/22 01:25
: → starjou :ie7 我就没再去试了 07/22 01:25
: → HuangJC :虽然如此,但以最大相容来说,我不能规范user怎麽去开 07/22 09:45
: → HuangJC :而是必需把 cookie time 设值,不要设 0 07/22 09:45
: → starjou :我是觉得你要做的应该不是去假设 user 有没有 login 07/22 20:17
: → starjou :而是决定 user 跑某个页面的时候需不需要 login 07/22 20:17
: → starjou :以及某功能能不能多重 login 07/22 20:17
: → starjou :然後发展你的过滤机制,要求 login or etc .... 07/22 20:18
目前是打算这样补强
因为抓来的程式不清楚有什麽机制
所以乾脆自己写一个 relogin
其实现在也几乎清楚了,问题是我们不能冒险
据前面说的,IE 关闭,cookie 就清除,那 IE 只要关闭重开就一定是登出的
不过另一个主管以前玩过 Phpbb,他说重开视窗还是在,并没登出
於是我查了一下才发现,所谓 auto login 是这个意思
cookie 内储存登入的 User ID 及 Session ID
当关闭 IE 时,Session 清除但 UID 不清除
这样倒节省不少 DB 空间
毕竟 Session 可能随设计不断长大,里面储存我所有"动作"
但 IE 都关了,动作何必储存?就清空它
而 user 如果再次打开 IE,我就马上 Auto Login
难怪它把 SID 设为 IE 关闭即清除
而 UID 却保留一年
autologin 要小心造假,所以又埋了个 MD5 密码
整体来说是这样
所以我可能还原它原来的机制,再跳过 MD5 检查
自己写个 autologin 出来
因为 cake 那边也有一个 session 概念,我同步去查它就好了
;;
如果我不发展新概念
即使 Phpbb 这边和 Cake 那边设定同样的 session 存活时间
也可能一直操作 Cake 而 Phpbb timeout 登出
因此无论如何,不使用影子变数而真正去找寻同一个变数
一直是重要的
影子圣衣太差劲了 (啊,圣斗士有没有看 ^_^)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.219.65.16
1F:→ xam :你应该要先读一下cookie跟session的介绍.. 07/22 23:43
2F:→ weiyucsie :推楼上XD 07/23 00:31
※ 编辑: HuangJC 来自: 61.219.65.16 (07/23 01:39)