2011-12-30 41 views
2

在我的腳本中,每當更改會話標識時,CI都會更新數據庫上的會話表。事情是,每當它發生變化時,我都需要知道該ID。簡單地說,我想記錄它在數據庫上的一些不同的地方,同時保持實際的記錄。我怎麼能這樣做?CodeIgniter - 哪部分代碼正在更改和更新會話ID?

+0

我最好不要刪除它,也許有人也會在未來尋找這樣的答案。 – gzg 2011-12-30 04:39:04

+1

只要添加我的2p,只要Q/A是有效的,我認爲它應該被保存爲http://meta.stackexchange.com/questions/17845/etiquette-for-answering-your-own-question – Basic 2012-01-03 01:49:43

回答

1

找到我自己的答案。 system/libraries/Session.php line:383當然,行號可能會有所不同,但如果搜索以下字符串,您將瞭解CodeIgniter在數據庫中更改session_id的位置:'session_id' => $new_sessid

+0

您可能有一個更基本的問題 - 只有在CI認爲需要時纔回收會話。當然,你可以像你所說的那樣禁用它 - 但是你應該100%確定你知道爲什麼它正在回收,並且防止它不是問題 - 例如。 CI每隔一段時間就會重複一次會話,以使被盜會話難以用於對您的站點進行身份驗證 - 您的意思是刪除此安全功能嗎?如果我是你,我會發現爲什麼它正在回收和修復,而不是 - 很可能它只是配置中的會話超時設置,但它可能是一些東西 – Basic 2012-01-03 01:47:11

+0

(如果它會幫助,我很樂意通過它與你並追查的基本原因) – Basic 2012-01-03 01:51:29

+0

@Basiclife,或者我問的問題不明顯(可能不明顯,我的壞),或者你誤會了我。 :)你對安全問題是正確的。我不想破壞它,我想讓它與我的基於會話的購物籃平行運行。這就是爲什麼我詢問CodeIgniter在數據庫中更改會話ID的原因 - 因爲當它改變時,購物籃表中的值也會改變。 – gzg 2012-01-03 16:19:12