我想保存一个' session_token'一旦我的用户登录,我应该使用cookie还是会话?
答案 0 :(得分:0)
Cookie可以设置为较长的使用寿命,这意味着存储在Cookie中的数据可以存储数月(如果不是数年)。当您拥有一组Web服务器时,将数据存储在客户端上的Cookie可以顺利运行,而会话存储在服务器上,这意味着在您的某个Web服务器处理第一个请求时,群集中的其他Web服务器将不会有存储的信息。
会话存储在服务器上,这意味着客户无法访问您存储的有关他们的信息 - 如果您存储购物篮或其他您不希望访问者能够手动编辑的信息,这一点尤其重要通过黑客攻击他们的饼干。存储在服务器上的会话数据不需要与每个页面一起传输;客户端只需要发送一个ID,数据就从本地文件加载。最后,会话可以是您想要的任何大小,因为它们保存在您的服务器上,而许多Web浏览器限制了大型cookie可以阻止流氓网站利用无意义的cookie信息咀嚼千兆字节的数据。
因此,正如您所看到的,每个人都有自己的优势,但最终通常会有一个选择:当您第二天访问者回来时,您是否希望数据正常工作?如果是这样,那么您唯一的选择是cookie - 如果您有任何特别敏感的信息,最好的办法是将其存储在数据库中,然后使用cookie存储ID号以引用数据。如果您不需要半永久性数据,那么会话通常是首选,因为它们更容易使用,不需要将数据与每个页面完全一起发送,并且一旦访问者关闭也会立即清理他们的网络浏览器。