关于CI的SESSION。
在视频教程和群里听说不建议使用CI的SESSION。 也没说具体的理由。前天我自己看了CI的SESSION没感觉到坏处,而觉得CI的会话想的还蛮好的,可以COOKIE(加密)+DB结合运用,感觉比使用PHP本身的会话更好些。
如果觉得CI的SESSION不太好用,能说说你的想法么?
如果可以大家一起把意见结合起来,有必要可以写给邮件到官方,有必要我们自己去尝试修改CI的SESSION,让CI用起来更好些,期待你每一个建议。 客户端/服务端时间差异影响cookie存活时间,写码时得处理之
cookie最大4kb,超过失效(比如大量应用ajax)
服务端session无需考虑以上两个问题 $_SESSION['name']
$this->session->userdata('name');
CI 的写法太长。 session_id 必须变化才会更新 last_activity 一年多前的话题,但还是应该回答一下。
CodeIgniter的开发人员并非新手,选择某些作法必定有原因。
能看懂英文的可参看:
http://en.wikipedia.org/wiki/Session_fixation#Countermeasures
安全的session处理正是大家在投诉的处理方法。
例如:
. 不使用GET/POST传递session_id,使用cookies来进行。
. Timeout session。
. 对每个请求重新生成session_id。
. 接收session_id时,验证其他信息,如ip地址,user agent等。
4KB限制是cookies的,若选择ci_session存放于数据库内,userdata并无4KB的限制。php自带的session是保存在文件中,在服务器上任何有管理权的使用者都能观看,甚至修改文件。CI使用数据库,多了一重保障。
Codeigniter以安全为首要考虑,安全总会是较麻烦的。对以简单为首要考虑,安全无所谓的人来说,这的确是不好用。
假若不想使用长名字。
$s = &$this->session->userdata;
使用$s('name')便可!没大不了。
页:
[1]