作者HuangJC (吹笛牧童)
看板PHP
標題Re: [請益] 請問session的SID
時間Wed Jul 23 01:56:48 2008
: → xam :你應該要先讀一下cookie跟session的介紹.. 07/22 23:43
: → weiyucsie :推樓上XD 07/23 00:31
cookie 我知道有存活時間
但不知道程式在哪裏 setcookie (全域搜尋漏掉)
而 session 如果是指 phpbb 的 session 介紹,那才有差
雖然我在這邊一直用這字眼
但這不是 php 那組 session ,
phpbb 是自己維護 session
;;
看到這裏才明白有人說只要掌握 session_begin 等幾個函式
而沒有去找尋 login 的 API
因為至少有兩個地方在寫 login,而 session_begin 這一個是我要的
login by ID,而不是 login by Name
所以只要呼叫它,給它 ID,它就一路登入
至於其內還有另一組 autologin 的檢查密碼
那是要稍微改寫把它跳掉的
;;
php 的 session 我還有幾個問題
不過還沒空 POST
基本上它的檔名及內容都是可控制的
所以如果有訂做 session handler 的需求才能合併兩個程式的話
的確是做得到
但全域變數對沖我還是解不了
總不成像我以前學八位元 basic 時,自己控制變數,就這樣寫:
A1=A; //全域變數 A 將被破壞,先保存起來
gosub function F1;
A=A1; //還原
這像什麼?這讓我想到組合語言裏,有限的 CPU 暫存器
活得好辛苦 *_*
如果我在 cake 呼叫 phpbb,即將破壞 userdata 這個變數
於是我保存它再還原
那我會懷疑,難道沒有包起來讓它變 local 的語言設計
不過反正所有變數都活不過一頁
session 雖然造出了全域變數的假象,但主管不願承認,要求改掉這字眼
基本上每一頁開頭 parsing 時,它必需重載入;它是遺忘再被重載入
所以和一個程式一直 run,被記憶著的觀念不同
每一頁網頁都是單獨的
已經是一個程式執行完,又執行另一個程式並重載入變數了
既然所有變數都活不久..那破壞就破壞 :P
(不,如果它存進 session 就會久;應該說沒存入的不必在乎它的死活)
還沒找到很好的想法..
不過想想,AX,BX,CX,DX 等暫存器在高階語言裏也是任意破壞它
想用時其值正確即可
這樣 code 才有法子被任意 link 而不用兼顧前後文
(寫程式最怕的,指令寫成前後相依性;合在一起都會動,拆開對調都是 BUG)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.219.65.16
→ bibo9901 :哪來的 session_begin 函式 07/23 11:45
→ HuangJC :在 phpbb2/session.php,是 user define function 07/23 13:07