我有一個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