2011-12-28 41 views
9

據我所知,會話只存儲在服務器端。會話的用戶標識(或會話標識)存儲在cookie或url中。那麼,即使用戶是超級黑客,用戶也不能在本地更改我在我的網站上使用的任何$_SESSION變量,除了會話ID或用戶ID?

+3

是的,會話數據僅在服務器上。 – 2011-12-28 00:38:52

+0

「超級黑客」是否可以修改服務器上的信息是另一個問題。而且,從技術上講,您應該瞭解[會話修復](http://en.wikipedia.org/wiki/Session_fixation)。 – 2011-12-28 00:48:18

回答

10

在大多數設置中,會話的數據存儲在服務器上,其標識符存儲在cookie中。如果你還沒有玩過設置或自定義會話處理程序,這將是如何爲你。

+0

好吧,我會咬。爲什麼*通常。*? – 2011-12-28 00:40:08

+1

@JaredFarrish:您可以使用'session_set_save_handler()'將數據發送到客戶端。不是你會的,但它是可能的。 – alex 2011-12-28 00:40:58

+1

呃...我可能會說:「會話默認存儲在服務器上,可以配置服務器將會話數據作爲服務器相關的會話數據存儲在客戶端上;但是,這並不常見,並不是PHP被配置爲處理除了特殊情況之外的所有會話。「 – 2011-12-28 00:44:40

相關問題