我有一个Web服务,需要用户登录并创建标准
$_SESSION [‘XXX’]个用户变量.
我想为应用程序创建一个“演示”,因此为它创建了另一个文件夹.
相同的代码在那里,除了数据库以外的所有东西.
问题是,当用户登录这两个帐户之一时,它可以访问两个帐户.
因此,如果他登录了演示应用程序,它将使用该应用程序设置会话变量
同样,他将能够访问“常规”应用程序.
我该如何区分这两个登录名?
我应该为演示更改会话变量还是有其他解决方法
根据文件所在的文件夹?
谢谢
解决方法:
在2个应用程序中,将different paths用作会话cookie.
显然,您不能在一个php.ini文件中具有这两个设置:
>在httpd.conf中的locationMatch指令中设置php_admin_value(Apache)
>在.htaccess文件中设置php_admin值
>在PHP脚本中添加前缀(或修改公共包含文件)以设置路径.
请注意,如果您在代码中指定路径,则建议在ini_set()上使用session_set_cookie_params().假设php.ini中的默认配置用于演示站点(应该使用类似’/ demo /’NOT’/’的东西)…
if (false===strpos($_SERVER['REQUEST_URI'], 'demo') {
// using live application
session_set_cookie_params (1200, '/live/');
}
(以上必须在调用session_start()之前运行)
标签:session,php
来源: https://codeday.me/bug/20191121/2050231.html