1、我用数据库成功存取sessiont,但服务品端的默认:/tem/下仍有session文件,只是内容为空?为什么?
只要用了session_start, 就会有文件生成2、session的生命周期如何实现与cookie一致?
两个作用和意义不同,为何要一致? cookie可以设一年的有效期,难道你要session也保持一年?
只要用了session_start, 就会有文件生成2、session的生命周期如何实现与cookie一致?
两个作用和意义不同,为何要一致? cookie可以设一年的有效期,难道你要session也保持一年?
可能是我问题没说明白:
我的问题是这样的:
如果不用session,单用cookie保存变量同样的可以实现认证,且可随意设生命周期!用cookie即可实现认证!
现在我想同时使用cookie和session.
session_star(),可产生一个cookie变量,且内容即是session_id().实际上这个sessionID(即session随机数)是可设存在周期的。如:etcookie(session_name(),session_id(),time()+$lifetime,"/");
我的意思是,如何用这个cookie ID号,来实现认证。即通过这个ID来身份验证!cookie只有这个变量。如何实现? 服务器端如何根据这个cookie ID,来证明这是个曾经验证过的客户!
这是否需要用cookie和session结合呢?如果要结合用?怎么结合! 实际上,如果不用cookie,单用session,同样可实现验证!只是下次重新打开浏览器要验证一次就行了! 现在问题是,我看一些文章说两者可结合用最好,但我不知怎样结合用!
大家能否举例指点一下!
即在所有session_start()前require("session_inc.php");
session_inc.php包含自定义的session打开,关闭,读,写等函数
仅凭这个session id 判断? 如何避免重复? 如何避免伪造?
我查了不少文章,都说session和cookie结合用最好,但到底怎样结合?我目前只知道各自用法! 有文章说session下cookie的ID是打开服务端的唯一钥匙。所以我也不知道在客户端是cookie只存ID变量好,还是同时存其他变量?按理是存一个ID变量就行了!hnxxwyq(独自流浪)说可将ID存数据库,每次和数据库ID对比,我的session就是存数据库的。session_start(_)后自动提取。应是不需要再单独对比。
我的理解是不用再单独另存数据库了!
这样下次仍能仍能取得session变量验证!
第二、但如果在退出时注消session变量,则无法在下次打开时进行验证。因为sessin文件(或记录)虽然仍存在,但内容已为空!所以无法验证!如果删除了session文件,也无法在下次进行直接验证,只能重新登录!
这是否可理解为,要想下次直接验证,不用登录,就不能点退出并删除seeion文件和变量!
第三、判 断cookie生命周期,如果仍在有效期内,即使按退出,也不除session文件及变量,就是说如果仍在cookie生命周期内,退出无用!
或者是另一思路!一旦用户点退出,就删除seeion文件和变量,下次就必须重新登录!cookie就无用了! 上述思路是否正确!?大家再谈谈看法!