根据文档 ( http://ellislab.com/codeigniter/user-guide/libraries/sessions.html ),CodeIgniter session 库具有以下行为:
“当加载页面时, session 类将检查用户的 session cookie 中是否存在有效的 session 数据。如果 session 数据不存在(或者已过期),则会创建一个新 session 并将其保存在cookie。如果 session 确实存在,则其信息将被更新,cookie 也将被更新。每次更新时,session_id 将被重新生成。”
我认为从安全角度来看这种行为可能很危险,因为有人可能会用请求淹没站点,从而污染 session 存储(在我的例子中,是一个 mysql 数据库)。我的应用程序正在普通的网络主机上运行..
有没有不需要太多额外编码的简单解决方案?也许有一个库可以替代核心附带的库?我不想自己编写所有代码,因为我认为这会捍卫使用框架的目的..而且我实际上不想使用另一个 PHP 框架,因为对于我的特定要求,CI 在以下方面是完美的:它给你自由......
最佳答案
because somebody could flood the site with requests and that way pollute the session store
所以呢?然后数据库中就只有一堆 session 。这不会影响 session 的有效性。如果有一种机制可以根据空间/时间删除旧 session ,那么这些 session 就会消失,并且这些 session 的前所有者将需要重新进行身份验证。
如果您担心冲突,请做一些研究,您会发现任何冲突概率都是底层操作系统和/或 PHP 本身的函数,因此 CodeIgniter 无法帮助您。
此外,磁盘空间可能已满,但这是一个操作/架构问题,而不是 CodeIgniter 问题,其本身也不是安全问题。
关于php - CodeIgniter session 库 - 潜在危险行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22734664/