与在mysql中存储会话相关的问题

时间:2013-03-02 12:06:43

标签: mysql session cookies

使用本教程http://www.wikihow.com/Create-a-Secure-Session-Managment-System-in-PHP-and-MySQL在mysql中存储会话。一切正常。比较cookie,如果会话存储在文件中,会话存储在mysql中。

如果我在cookies中理解的存储在mysql中的会话不应存储任何值。

删除所有Cookie,重新加载页面。

但是,当打开cookie时,我会看到一个cookie名称_s。

问题。为什么存储在cookie中的东西及其含义(_s)? cookie做什么(什么工作)?从_s的cookie值复制,并看到该值与mysql中的值(id)相同。 php代码出了什么问题?在这种情况下,在mysql中存储会话是没有用的(如果cookie中有值可用).....但是请注意,在每个页面上重新加载cookie中的会话值会发生变化。它也在mysql中更改,旧值从mysql中删除。那么,这是否意味着在任何情况下会话值都会在cookie中存储很短的时间?

如果会话存储在文件中。是否意味着某人从文件中复制会话值,打开cookie,将值粘贴到cookie中而不知道用户名和密码可以在具有某些用户凭据的网站中工作?

1 个答案:

答案 0 :(得分:0)

在mysql或文件中存储会话与用户的观点没有任何区别。但是有两个针对文件会话的参数:

  • 不可扩展。如果您有多个Web服务器,则将在其中一个Web服务器上创建文件,但在其他Web服务器上不可用。因此,如果你有两台服务器,用户只能有一半时间访问他的会话。
  • 如果所有网站共享相同的tmp,则在共享主机中,其他网站所有者可能会访问您的会话ID。通常情况并非如此,但这可能是一个问题