PHP会话安全性:在数据库与更改会话中存储会话保存路径?

时间:2010-01-04 17:06:29

标签: php session

我正在尝试创建更安全的PHP会话登录脚本。不幸的是,对于这个项目,我将使用共享主机。使用PHP的session_save_path()函数将路径更改为/tmp以外的其他内容是一种安全的解决方案吗?或者我是否需要将会话保存在数据库中?

谢谢!

2 个答案:

答案 0 :(得分:1)

就个人而言,我更喜欢在数据库中存储会话,因为它不仅避免了与使用基于文件的系统相关的一些文件访问速度减慢,而且还为您提供了更直接和“监督”的管理直接会话数据的方法。

如果使用MySQL实现,请考虑使用Memory (HEAP) Storage Engine,因为它将带来巨大的性能优势。当然,这是假设您不太可能有成千上万的活动会话,并且您的会话数据是“易失安全的”,即如果服务器崩溃导致会话数据丢失,那么应该发生的最坏情况将是要求用户重新登录。

答案 1 :(得分:0)

移动会话保存路径是一个好的开始。只需确保它不在文档根目录中。

对于某些共享托管,我发现获取数据库连接可能需要一两秒钟。在db中存储会话可能会降低整个应用程序的速度。每个页面加载访问您的会话两次。

你可能想要测试哪个看起来效果更好。