[請益] session_destroy()摧毀其它同主機的網站?

看板PHP作者 (Clemond)時間12年前 (2011/10/23 11:49), 編輯推噓1(1018)
留言19則, 6人參與, 最新討論串1/1
有一台web server,裏面跑兩個不同的網站(兩個不同的維護者), 且兩個網站都有用session的功能.其中A網站在login.php的頁面一開始就執行 session_destroy()的函數,導致只要有使用者在A網站登入,就會使得B網站 所有以$_SESSION註冊的變數內容瞬間消失,想當然爾,B網站的使用者就會遭遇到 莫明其妙輸入資料消失的問題.在此請教,該如何解決這個問題呢?謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.184.143.154

10/23 11:58, , 1F
domain or fqdn 相同?
10/23 11:58, 1F

10/23 18:01, , 2F
不要用這種原子彈爆炸的函數不就得了…
10/23 18:01, 2F

10/23 18:23, , 3F
用 $_SESSION['A'][var_of_A],消除時 unset($_SESSION['A'])
10/23 18:23, 3F

10/23 19:04, , 4F
domain的確是相同的,兩個網站放在不同的目錄.
10/23 19:04, 4F

10/23 19:07, , 5F
我以為session_destroy不會毀掉不同目錄的網站,結果會.
10/23 19:07, 5F

10/23 20:47, , 6F
session應該是跟著client走的不是嗎?也就是說同一電腦
10/23 20:47, 6F

10/23 20:48, , 7F
所以別的電腦的session應該不會影響到吧?
10/23 20:48, 7F

10/24 01:28, , 8F
一旦destroy就是消滅同一domain name下的所有session
10/24 01:28, 8F

10/24 01:28, , 9F
所以說原子彈爆炸 一樣的問題我碰過 方法同三樓
10/24 01:28, 9F

10/24 01:29, , 10F
在session用一個array或物件收集該站需要的所有變數
10/24 01:29, 10F

10/24 01:30, , 11F
登出時unset掉就得了 不要用原子彈函數不然大家一起炸掉
10/24 01:30, 11F

10/24 07:08, , 12F
感謝指導,懂了。看來只有請維護者改程式碼才能解決。
10/24 07:08, 12F

10/24 15:01, , 13F

10/25 00:25, , 14F
謝謝weiyucsie大的連結.請問若用session_name,就不怕
10/25 00:25, 14F

10/25 00:26, , 15F
session_destroy的摧毀了嗎?
10/25 00:26, 15F

10/25 00:54, , 16F
試過了,weiyuscie大po出的連結方法真得有用!在網站中
10/25 00:54, 16F

10/25 00:56, , 17F
先用session_name($name)指定專有的session名稱,
10/25 00:56, 17F

10/25 00:57, , 18F
就不怕同主機其它使用者的session_destroy()了.
10/25 00:57, 18F

10/25 00:58, , 19F
再次感謝大家的指導!
10/25 00:58, 19F
文章代碼(AID): #1Eeux3pc (PHP)