我正在开发一个项目,在php会话中保留一些用户信息(非敏感信息)。由于这是我第一次使用会话,我从不打扰传递任何会话ID,但它仍然有效 - 是吗?我找不到任何相关的信息。
我正在使用$_SESSION
变量中的某些部分信息来导航和影响某些网站的行为,有时这对页面与用户进行交互至关重要。意思是没有当前会话的正确信息,导航将被破坏。
那么,我可以依赖Sessions的存在吗? 我可以依靠服务器自动选择正确的会话而不传递SID吗?
我只在一台服务器上工作,我不需要会话可恢复(意味着当用户离开应用程序时,会话可能会被破坏)。
答案 0 :(得分:2)
是的,你可以依靠让服务器为你挑选正确的会话。我在我10年的PHP编码中没有经历过错误的会话。
但是,如果您选择将sessionid传递到下一页,请清除风险。如果您有任何类型的私人数据,会话劫持是一项非常严肃的业务。
答案 1 :(得分:2)
如果找不到相关信息,可能会跳过最明显的参考:官方PHP手册。它就在Introduction of the Sessions chapter:
中PHP中的会话支持包含一种保留某些数据的方法 跨后续访问。这使您可以构建更多自定义 应用程序并增加您的网站的吸引力。
访问您网站的访问者被分配了一个唯一的ID,即 所谓的会话ID。 这可以存储在用户的cookie中 在URL中传播或传播。
如果你的问题是饼干是否可靠用于此目的,事实上它现在是事实上的标准。您很难找到仍然在URL中传输会话ID的PHP驱动的站点。原因是它是一个有问题的技术:它很容易泄露您的会话ID。如果您复制URL并将链接发送给朋友或在论坛中发布,那么任何陌生人都可以轻松访问您的私人数据,即使是在他们访问网站时无意中(您不需要恶意的人)在会话到期之前,该网站没有实施进一步的验证(这是通常的情况)。