CodeIgniter会话库 - 有潜在危险的行为?

时间:2014-03-29 17:56:37

标签: php mysql codeigniter session cookies

根据文档(http://ellislab.com/codeigniter/user-guide/libraries/sessions.html),CodeIgniter会话库具有以下行为:

“加载页面时,会话类将检查用户会话cookie中是否存在有效会话数据。如果会话数据不存在(或者已过期),将创建一个新会话并保存在cookie。如果会话确实存在,它的信息将被更新,cookie将被更新。每次更新时,session_id都将被重新生成。“

我认为从安全角度来看这种行为可能很危险,因为有人可能会在请求中泛滥网站,这会污染会话存储(在我的情况下,这是一个mysql数据库)。我的应用程序在普通的网络主机上运行..

有没有简单的解决方案,不需要太多额外的编码?也许一个图书馆可以替代核心附带的图书馆?我不想自己编写代码,因为我认为这会捍卫使用框架的目的..而且我实际上不想使用另一个PHP框架,因为,对于我的特定要求,CI是完美的自由它给你......

1 个答案:

答案 0 :(得分:1)

  

因为有人可能会在请求中泛滥网站,这会污染会话商店

所以?然后你在数据库中只有一堆会话。这不会影响会话的有效性。如果有一种机制可以根据空间/时间删除旧会话,那么这些会话就会消失,这些会话的前所有者将需要重新进行身份验证。

如果您担心碰撞,请做一些研究,您会发现任何碰撞概率都是底层操作系统和/或PHP本身的函数,因此CodeIgniter无法帮助您。

此外,可能磁盘空间已满,但这是一个操作/体系结构问题,而不是CodeIgniter问题,本身并不存在安全问题。