如果在系统上禁用cookie会发生什么?

时间:2014-05-13 19:31:00

标签: php session cookies

我是开发新手。虽然我对会话和cookie的工作过程有所了解,但我有一个疑问:如果在系统上禁用cookie会发生什么?会话如何唯一地标识用户等?

2 个答案:

答案 0 :(得分:2)

这是一个有趣的问题。

虽然最初发明PHP会话是为了禁用cookie,但这个功能被证明是不安全的,现在有点不受欢迎。

但是,此功能仍然有效 - PHP可以重写所有本地链接,为它们添加会话ID,从而使其从一个页面转移到另一个页面。

然而它仍然不安全,因为毫无戒心的用户可能会向朋友发送超链接,会话ID也是如此 - 让朋友登录。

  

会话如何唯一地标识用户等?

会话的想法不是识别用户,而是在不同的请求之间传输会话ID。因此,只要您能够设法这样做 - 您就可以保持会话。比如说,在一直使用AJAX的现代网络应用程序中,人们可以在没有cookie的情况下完成任务,同时保持应用程序非常安全 - 只需通过AJAX调用严格传输会话ID,而不是在地址栏中显示。

答案 1 :(得分:2)

某些服务器端框架可以使用URL重写来在没有cookie的情况下维护会话状态。对于这样的框架,仍然可以维护会话,但是一旦用户离开就无法保留信息(例如,当用户检查&#34时,您无法保存用户名以预先填充登录字段;记住我")。 / p>

对于依赖cookie的系统,不可能进行会话。

许多网站在用户未登录时提供某些功能(例如,您可以浏览Stack Overflow但不能发布帖子)。