CakePhp 将会话 ID 保存在 cookie 中,通常名为 CAKEPHP 的 cookie 包含会话 ID,并且在任何其他 php 文件中都可以使用该 ID 启动会话
session_id($_REQUEST['CAKEPHP']);
session_start();
我的问题是这是一种处理会话 id 的安全方式,如果是,那么如果现在有什么更好的解决方案,它的安全性如何
会话 cookie 仅对生成 cookie/启动会话的域有效。
尽管另一个 php 页面可能会获取该会话,但只有在同一域上提供 cookie 时它才会接收 cookie,在这种情况下,它是您网站的“一部分”。
因此这应该不是问题,因为(除非您遇到严重问题)只有您才能将 php 文件添加/上传到您的网站。
您应该检查会话数据的保存位置。app/Config/core.php 中的默认“php”会话设置会将会话数据写入 php.ini 中配置的会话保存路径。这可能是同一服务器上的其他网站可以访问的“共享”目录。
为了更好的安全性,将 app/config/core.php 中的会话配置设置为“cake”。这会将会话数据写入 app/tmp/sessions,只有您的网站才能访问。