yuvista
发表于 2013-11-3 13:00:04
dren_a 发表于 2013-10-31 23:16 static/image/common/back.gif
ci的session是用cookie方式存在客户端的,传统方法是存在数据库的。
传统方式也不是存在数据库的。。。。。。
dren_a
发表于 2013-11-3 21:42:29
yuvista 发表于 2013-11-3 13:00 static/image/common/back.gif
传统方式也不是存在数据库的。。。。。。
只能说“默认方式”不是存在数据库的,但是按照一般稳定性及可维护性的要求,存数据库是最佳实践,反正我见过的大公司的小组规范一般都是有这一条的。
幸福糖
发表于 2013-11-4 10:14:18
大家讨论的好激烈啊,其实我还不懂SESSION得运行机制。来学习了,:D
Hex
发表于 2013-11-4 10:57:00
Hick 发表于 2013-11-2 09:49 static/image/common/back.gif
可能我有点不够潮流了,不知道谁把数据存在浏览器的 cookie 叫做 session 的。 搞 php 开发的,手册上关 ...
1. 要实现 Session,目前看最广泛使用的就是用 cookie,因为 HTTP 协议本身是无状态的,只有 Cookie 才可以保留状态,而这种状态是 Session 的实现基础,所以 Session 使用 Cookie 这是在正常不过的事情了。
换句话说:Session 只是一种技术,而如何实现是另一码事,比如 Session 数据可以放在文件中,数据库中,memcached 中等等,所以,要深刻理解一下什么是 Session
2. 关于数据存储在Cookie中,这个确实有超过Cookie存储大小的风险。另一方面,在分布式架构上,Sessoin存储在Cookie中是一种分布式Session的解决方案。
3. 关于加密,目前加密算法公开的加密方式很多,比如 RSA,但目前并没有方法去破解,所以加密算法公开并不是容易被破解的因素,所以,加密还是可靠的。
综合以上,Session 存储在 Cookie 中只是众多解决方案中的一种,使用或不使用全看开发者个人喜好。
Hick
发表于 2013-11-4 12:07:00
有些概念可能是没有绝对的对错,但是个人以为,既然要有 session 和 cookie 俩个定义,就需要区分清楚, 如果一定要把 "cookie里不止保存 session id的这种cookie"叫做session,那不管是有没有过期时间的 cookie 都可以叫 session 了, 我想这个是大多数人都不认同的。从这个角度上说,纠结 session 和 cookie 确实没什么意思了。
前面回复解密的问题确实忘了考虑服务器定义密钥之类的作法,确实不是所有可解密的都好破解。
从前面的讨论看,很多人都对一些技术手段如果只是拿来主义,容易造成错误认识,对一些高安全要求的东西,是要有更深入的了解和讨论。
萝卜茄子
发表于 2015-10-24 15:49:58
永恒forever 发表于 2013-11-1 13:06
好像 CI 的 session 是存在 cookie 里面的。我不确定,没看到代码,只是有一次遇到过,session 设置太多了 ...
谁说session是存在客户端的?