2010-02-19 36 views
4

我有一個小應用程序的登錄腳本,它通過存儲會話cookie並在每個頁面上檢查它們以確保用戶已登錄。 使用系統會隨機註銷。 這似乎是由會話cookie顯示,然後驗證不再存在。PHP會話Cookie失敗,用戶更改IP

經過大量的調查,我可以看到這個用戶的唯一不同是他們的IP地址正在改變(今天它每小時都在變化(他們在Sky上))。 今天早上唯一的變化是IP地址發生了5次,只有一次用戶註銷。

有沒有人有類似的問題?

會話cookie在某些方面與IP地址綁定嗎?

任何幫助或鏈接非常感謝。

感謝

Ç

+0

我對許多網站的工作有完全相同的問題。我們有2個互聯網連接,並根據負載自動切換(通過這樣做我們的IP更改),從而導致cooxies /會話問題。 – AlexV 2010-02-19 13:35:41

+0

似乎symcbean在下面說IP更換服務器端是一個問題。希望你能對它進行排序。 – Columbo 2010-02-22 09:12:14

回答

3

會話cookie在某種程度上與IP地址綁定嗎?

沒有。只要瀏覽器連接到相同的IP名稱服務器,無論客戶端地址更改還是通過不同的代理服務器都無關緊要。

這是更有可能的東西得到緩存不應該。 (假設你沒有對IP地址進行驗證)。

您是否已將Web服務器配置爲針對請求/客戶端/用戶代理記錄會話ID? (即在訪問日誌中)

C.

+0

謝謝。我的代碼中沒有IP檢查。不過,我會根據用戶活動記錄IP地址 - 但不會對此做出任何決定。我可以寫一些會話的東西給。會話cookie是否被緩存?我會想但不是,但我認爲是錯的。但是,我將系統時間存儲在會話變量中用於超時目的,並且在閱讀您的文章後,我想知道是否正在從緩存位置拾取。這感覺就像一個輕量級的解決方案,我想我可以在數據庫中存儲一些東西,使會話更健壯。 – Columbo 2010-02-22 09:06:41

+0

對我而言,證據越來越多是針對IPs的問題......我只有一組2名用戶繼續前進。一個人的知識產權是固定的(一天中沒有變化),其他人在大約每1.5小時左右隨機變化。它是具有不斷變化的IP的用戶。但是,她在上週五12:36發郵件給我說,她剛剛被註銷,我可以清楚地看到她的IP地址在12:10到12:54之間保持不變 - 所以看起來IP不是責怪這裏。但她可能會延遲郵寄。我打算收集一些數據,以獲得更多線索。 – Columbo 2010-02-22 09:10:24

+0

添加了一些跟蹤代碼後,它看起來像用戶cookie會話消失。下一步就是登上她的機器,看看諾頓,這可能會破壞會議。 – Columbo 2010-02-23 08:43:53

2

默認情況下,PHP會話不佔IP變化。它只基於cookie值。

因此,當用戶更改IP地址時,也許可能在您的Web應用程序中存在一些自定義代碼,使會話無效。