PHP - 默认 session 处理与自定义 session 处理

标签 php session

到目前为止,我从未在 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/

相关文章:

php - 如何判断SQL更新语句是否删除成功

asp.net - 存储应用程序变量

.net - NHibernate 的 Windows 服务中的多个 SessionFactories

php - fpdf 打印字符串而不是值

php - 数据库凭证安全性 - 存储在 PHP 中还是通过邮件传递?

php - 如何在我的数据库中存储 $_SESSION 值

PHP 深度扩展数组

java - jsessionid传入url,如果浏览器保存cookie和jsessionid

PHP 用户 session 获取 'Muddled'

session - Google Analytics - 根据不同的自定义变量而不是 session 来计算唯一访问次数