你应该把session.save_path放在哪里?

时间:2012-08-22 20:05:57

标签: php session

由于默认/tmp通常对共享主机中的所有帐户开放,因此通常建议您使用session.save_path并设置其他位置。

只要它不在/home/username/example_session_tmp/中,是否假设更好的位置在/home/username/public_html/

如果是这样,如果黑客能够在public_html中注入脚本并阅读../example_session_tmp/,那么它是否仍然容易受到攻击?或者它是唯一的方式,并且通常假设您的网站不受脚本注入的影响?

注意:数据库会话处理程序是一种替代选项,但我们假设它不可能。

2 个答案:

答案 0 :(得分:1)

我同意你加入/home/username/example_session_tmp/

但是,

  • 如果每台服务器只有一个站点,则无需更改路径
  • 如果您希望共享托管解决方案,请转到新路径是个好主意(您可以检查apache-mpm-itkphp5-fpm
  • 如果您想拥有多台服务器,最简单的方法是将会话放入数据库,或者为会话文件创建共享文件夹(nfs,samba)。

答案 1 :(得分:1)

如果黑客在您的网站上获得了一个脚本,那么您可以做很多事情来阻止他阻止会话。如果您的网络服务器可以访问会话,那么该用户将会访问。无论你在哪里坚持下去,黑客都可以通过简单的电话session_save_path找到。

总结一下:

  • 防止黑客访问。如果您的服务器是敞开的,谁会关心会话?先保护它。
  • 将save_path设置为~/sessions 应该阻止其他共享主机用户篡改您的会话。这并不妨碍获得访问您的网络服务器的人查看和篡改会话。