到目前为止,我从未在 PHP 中尝试过自定义 session 处理程序,并且在考虑选择一个框架(CodeIgniter 或 Kohana)时,我看到有一个选项可以使用预构建的自定义 session 处理程序。使用将 session 数据存储在数据库中的系统的优缺点是什么?自定义 session 处理程序以何种方式提高安全性和可维护性?
如果您在共享虚拟主机上,并且虚拟主机的临时文件夹已满,我可以想到一个专业人士,尝试打开 session 可能会失败。但是,如果虚拟主机的 MySQL 消失了,那同样是徒劳的。
将不胜感激任何建议或指南。谢谢!
最佳答案
如果您更深入地研究 PHP 的默认 session 处理,您可能会发现一些在某些方面不准确的事情。就像实际上非常重要但在某些情况下可能不准确的 session 生命周期一样(参见 How long will my session last? 和 How do I expire a PHP session after 30 minutes? )。
因此可能有必要实现您自己的 session 处理程序来修复此不准确性。
其他原因可能是安全性和性能。 PHP 的默认 session 处理程序使用其他人可能有意或无意访问的文件。使用 protected 数据库可以使您的数据更安全,并且其缓存功能可以加快处理速度。您还可以使用 memcached 等缓存来进一步增加访问时间。
关于PHP - 默认 session 处理与自定义 session 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1696234/