PHP会话存储在共享主机上的/tmp中是否安全?

PHP会话存储在共享主机上的/tmp中是否安全?,php,Php,我听说这会导致安全问题。使用纯数据库来存储PHP会话而不是在/tmp中是明智的吗 它们是不安全的(尽管Suhosin扩展可以加密它们,提供一点安全性)。您不应该仅仅因为这一点就需要切换到数据库(尽管有其他合理的理由这样做)。最简单的方法是只设置一个只有您可以访问的目录。如果会话数据包含敏感信息,当然,让您不信任的任何人都可以使用它是不安全的 同时,数据库是一个外部系统,如果您的代码依赖于它,它会降低总体可靠性,更不用说与使用普通文件系统相比会增加额外的计算开销 因此,这不一定是一个智慧的问题,但

我听说这会导致安全问题。使用纯数据库来存储PHP会话而不是在/tmp中是明智的吗

它们是不安全的(尽管Suhosin扩展可以加密它们,提供一点安全性)。您不应该仅仅因为这一点就需要切换到数据库(尽管有其他合理的理由这样做)。最简单的方法是只设置一个只有您可以访问的目录。

如果会话数据包含敏感信息,当然,让您不信任的任何人都可以使用它是不安全的

同时,数据库是一个外部系统,如果您的代码依赖于它,它会降低总体可靠性,更不用说与使用普通文件系统相比会增加额外的计算开销


因此,这不一定是一个智慧的问题,但一如既往,这是一个为工作使用正确工具的问题。

不,如果您使用共享主机,如果他/她愿意,他们可以由您的主机提供商读取
…告诉我:有没有办法限制对root的访问?不。所以我认为你的最后一句话是错误的。如果你不能信任你的主人,你甚至不应该在共享主机上。让超级用户参与进来是一种欺骗,你不这样认为吗?如果你信任hoster,为什么不让会话文件进入/tmp?因为在共享托管上,还有其他参与方,然后是hoster和你,即与你共享服务器的其他客户机。这些都是那些可以故意或无意造成你伤害的人。另一个附带问题是:如果出于某种原因服务器重新启动(不应该发生,但可以),则
/tmp
目录通常是空的,您的会话目录可能不是空的,因此如果它是一个相当快的重新启动,人们可以继续工作,而无需重新登录。这不是一个安全问题,但还是很高兴有这样的问题。@genesisφ:即使您在数据库上存储会话,但如果您不信任SUs,因为它们可以轻松地读取您的数据库配置文件,甚至可以直接访问数据库。