Php 理解会话将路径另存为无值和安全性

Php 理解会话将路径另存为无值和安全性,php,security,session,session-variables,Php,Security,Session,Session Variables,我只使用会话来存储变量,并希望确保会话保存路径不会被任何用户篡改。所以我去检查我的phpinfo,发现会话保存路径被设置为无值。对于只对变量使用会话的用户来说,这正常吗?如果会话保存路径设置为无值,我有什么需要担心的吗 设置的默认值为”(空字符串),默认值为/tmp 从“工作”的角度来看,没有必要担心它被设置为无值(因为这是默认值);然而,从安全的角度来看,这是不可能的 手册中的警告: 如果将此集合保留到世界可读目录,例如/tmp( 默认情况下),服务器上的其他用户可以通过 正在获取该目录中的文

我只使用会话来存储变量,并希望确保会话保存路径不会被任何用户篡改。所以我去检查我的phpinfo,发现会话保存路径被设置为无值。对于只对变量使用会话的用户来说,这正常吗?如果会话保存路径设置为无值,我有什么需要担心的吗

设置的默认值为
(空字符串),默认值为
/tmp

从“工作”的角度来看,没有必要担心它被设置为无值(因为这是默认值);然而,从安全的角度来看,这是不可能的

手册中的警告:

如果将此集合保留到世界可读目录,例如/tmp( 默认情况下),服务器上的其他用户可以通过 正在获取该目录中的文件列表


您可以通过以下代码创建/编辑.htaccess来设置保存路径:

php_value session.save_path /mnt/stor1-wc1-dfw1/123456/www.domain.com/web/sessions
php_value session.save_handler files

有关更多详细信息,请访问此网站:

那么我应该将会话保存路径设置为一个模糊的文件名,这将解决安全问题?请注意,它显示服务器上的其他用户,即具有服务器访问权限的其他用户。如果您没有明确地授予用户服务器访问权限,那么从安全角度来看就没有什么可担心的了,因为默认的
tmp
文件夹不能通过http请求公开访问。@Mahn Correct-除了出于任何原因可以访问执行PHP的用户之外,其他用户也可以访问
/tmp
文件夹。这可能是一位web开发人员,也可能是发现漏洞的恶意用户。因为太难担心而视而不见并不是一个好的安全标准。@newfurnity我认为如果任何用户出于任何原因可以在您的计算机上访问执行PHP,您将有更大的问题需要担心。@jason328正确。如果有多个网站正在运行,可以尝试在每个特定网站(如
/home/example.com/session
)内创建目录,并在使用调用
session\u save_路径('/home/example.com/session')的会话的每个页面的标题中包含一个include。这样做还可以使文件/文件夹权限处于可管理状态。