看板 PHP 關於我們 聯絡資訊
有一台web server,裏面跑兩個不同的網站(兩個不同的維護者), 且兩個網站都有用session的功能.其中A網站在login.php的頁面一開始就執行 session_destroy()的函數,導致只要有使用者在A網站登入,就會使得B網站 所有以$_SESSION註冊的變數內容瞬間消失,想當然爾,B網站的使用者就會遭遇到 莫明其妙輸入資料消失的問題.在此請教,該如何解決這個問題呢?謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.184.143.154
dinos:domain or fqdn 相同? 10/23 11:58
MOONRAKER:不要用這種原子彈爆炸的函數不就得了… 10/23 18:01
tyf99:用 $_SESSION['A'][var_of_A],消除時 unset($_SESSION['A']) 10/23 18:23
Clessin:domain的確是相同的,兩個網站放在不同的目錄. 10/23 19:04
Clessin:我以為session_destroy不會毀掉不同目錄的網站,結果會. 10/23 19:07
chief84:session應該是跟著client走的不是嗎?也就是說同一電腦 10/23 20:47
chief84:所以別的電腦的session應該不會影響到吧? 10/23 20:48
MOONRAKER:一旦destroy就是消滅同一domain name下的所有session 10/24 01:28
MOONRAKER:所以說原子彈爆炸 一樣的問題我碰過 方法同三樓 10/24 01:28
MOONRAKER:在session用一個array或物件收集該站需要的所有變數 10/24 01:29
MOONRAKER:登出時unset掉就得了 不要用原子彈函數不然大家一起炸掉 10/24 01:30
Clessin:感謝指導,懂了。看來只有請維護者改程式碼才能解決。 10/24 07:08
weiyucsie:http://tinyurl.com/3vuakuj 10/24 15:01
Clessin:謝謝weiyucsie大的連結.請問若用session_name,就不怕 10/25 00:25
Clessin:session_destroy的摧毀了嗎? 10/25 00:26
Clessin:試過了,weiyuscie大po出的連結方法真得有用!在網站中 10/25 00:54
Clessin:先用session_name($name)指定專有的session名稱, 10/25 00:56
Clessin:就不怕同主機其它使用者的session_destroy()了. 10/25 00:57
Clessin:再次感謝大家的指導! 10/25 00:58