2011-12-28 19 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

相关问题