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