根据文档(http://ellislab.com/codeigniter/user-guide/libraries/sessions.html),CodeIgniter会话库具有以下行为:
“加载页面时,会话类将检查用户会话cookie中是否存在有效会话数据。如果会话数据不存在(或者已过期),将创建一个新会话并保存在cookie。如果会话确实存在,它的信息将被更新,cookie将被更新。每次更新时,session_id都将被重新生成。“
我认为从安全角度来看这种行为可能很危险,因为有人可能会在请求中泛滥网站,这会污染会话存储(在我的情况下,这是一个mysql数据库)。我的应用程序在普通的网络主机上运行..
有没有简单的解决方案,不需要太多额外的编码?也许一个图书馆可以替代核心附带的图书馆?我不想自己编写代码,因为我认为这会捍卫使用框架的目的..而且我实际上不想使用另一个PHP框架,因为,对于我的特定要求,CI是完美的自由它给你......
答案 0 :(得分:1)
因为有人可能会在请求中泛滥网站,这会污染会话商店
所以?然后你在数据库中只有一堆会话。这不会影响会话的有效性。如果有一种机制可以根据空间/时间删除旧会话,那么这些会话就会消失,这些会话的前所有者将需要重新进行身份验证。
如果您担心碰撞,请做一些研究,您会发现任何碰撞概率都是底层操作系统和/或PHP本身的函数,因此CodeIgniter无法帮助您。
此外,可能磁盘空间已满,但这是一个操作/体系结构问题,而不是CodeIgniter问题,本身并不存在安全问题。