【发布时间】:2016-05-11 10:23:41
【问题描述】:
我正在开发我的第一个项目,并且我已经阅读了一些关于跨页面维护状态的内容。从我在这个主题上花费的几个小时来看,使用 $_SESSION 进行序列化和反序列化似乎是一种非常简单有效的方法。
但是,由于两个主要(且经常有争议的)原因,它似乎不受欢迎:
- 性能
- 安全性
我的项目中有一个非常典型的(3 页)申请流程 1>选择类别 2>输入详细信息 3>确认 => 添加到数据库。并且将我的对象信息存储在 $_SESSION 中是有意义的。
在性能方面,序列化对象的时间约为 4 微秒,反序列化的时间为 5 微秒。
看来(根据我的阅读)首选方法是使用实际的数据存储,但肯定要求数据库保存和检索此(通常是部分)信息会花费更长的时间并且会导致更多的代码?
在安全方面,我知道实际的会话信息存储在服务器上,所以这不安全吗?
我知道以前有人问过这个问题,但我找到的最接近的是 7 年前问过的
PHP: Storing 'objects' inside the $_SESSION
并且正在寻找更多最新的意见。
【问题讨论】:
标签: php session serialization