PHP中的会话优于Cookie的优势

时间:2011-11-14 06:10:19

标签: php session cookies

所以,我认为我有一个基本的想法,即Cookies和会话是什么。 Cookie存储在客户端上,Sessions存储在服务器上。但我想知道的是,在cookie上使用会话有什么好处?会话是否仅用于在页面之间共享数据?

7 个答案:

答案 0 :(得分:7)

当您不希望客户端具有混乱数据的能力时,会话是更好的主意。例如,使用会话变量来存储当前用户的用户ID是正常的。然而,使用cookie是一个巨大的安全漏洞,因为中途聪明的人可以欺骗其他用户ID并获得对其他帐户的访问权。

答案 1 :(得分:2)

会话不依赖于允许cookie的用户。它们的工作方式类似于允许在用户打开浏览器时访问和传递信息的令牌。会话的问题是,当您关闭浏览器时,您也会丢失会话。因此,如果您有一个需要登录的站点,则无法将其保存为类似cookie的会话,并且每次访问时都会强制用户重新登录。

你当然可以充分利用这两个世界!一旦你知道每个人做了什么,你就可以使用cookie和会话的组合,使你的网站完全按照你想要的方式工作。

参考:http://php.about.com/od/learnphp/qt/session_cookie.htm

答案 2 :(得分:1)

您使用Cookie进行会话识别。您不会在cookie中设置所有重要信息,因为用户可能会弄​​乱这些信息。会话中的数据更安全。

答案 3 :(得分:1)

可以修改cookie的数据,因为数据存储在本地(在客户端上),其中会话的数据存储在服务器上,并且无法修改(由客户端)。

但是,PHP会话会在浏览器上设置cookie,以便PHP可以引用cookie上的会话密钥,并为您提供相应的会话。这意味着如果有人获取了会话密钥,他们可以在浏览器中添加cookie,并基本上劫持您的会话。

答案 4 :(得分:0)

看看:PHP - Sessions vs Cookies

sessions充当可以隐藏信息的临时信息持有者,而cookies充当临时和长期信息持有者。在会话和cookie之间的差异明显之后,为网站做出正确的选择非常简单。虽然会话似乎比cookie更容易使用,但永远不要怀疑使用cookie的强大功能和易用性。

希望这有帮助。

答案 5 :(得分:0)

同时使用。

仅使用Cookie来标识会话。 Cookie数据随每个请求一起发送(即使是图像,如果它们在Web服务器上)。最小化cookie中的数据意味着通过网络发送的数据更少。

将所有其他应用程序数据存储在会话中。谨慎使会话数据保持较小。如果来自许多不同用户的大量请求,会话中的大量数据将使服务器占用内存。将大数据存储在对象中的User对象或链接到User的相关对象中。

希望有帮助...

答案 6 :(得分:-3)

PHP会话通过客户端浏览器中的cookie实现。