我的服务器上运行了很多项目,所有项目都使用PHP会话进行身份验证。
现在,由于PHPSESSID cookie将cookie路径设置为set-cookie头中的'/',因此该cookie在整个域中都可用,而我只需要它可用于当前应用程序。
因此,会出现以下问题:
登录到mysite.com/application-1的用户会自动登录
...等
那么,如何设置PHPSESSID cookie的路径?
答案 0 :(得分:4)
默认情况下,会话cookie是使用当前路径创建的,直到您将其更改为在任何其他路径或'/'
上保存cookie。
您可以告诉脚本将会话cookie保存在项目特定目录中。您可以使用session_set_cookie_params进行此操作。必须在session_start()
session_set_cookie_params(0,'/dirname');
答案 1 :(得分:2)
您只需为每个站点指定会话名称,它就会将会话彼此分开。
session_name("application-1");