通过网址传播会话

时间:2013-04-05 07:27:12

标签: php

在php中,根据手册:“访问您网站的访问者被分配了一个唯一的ID,即所谓的会话ID。这可以存储在用户端的cookie中,也可以在URL中传播。”

何时以及为何我更喜欢通过网址而不是Cookie传递会话?

3 个答案:

答案 0 :(得分:1)

主要区别在于您的会话令牌可以通过引用来发送到不同的域,但这可以通过检查源IP地址来缓解。除此之外,cookie在HTTP标头中发送,URL最终在请求行中。安全性没有真正的区别,因为HTTPS加密两者。但是请求URL可能写在日志文件中,这显然是一个(很小的)风险。

Cookie是传递会话令牌的默认处理程序,但是当您在客户端禁用它们时,您可以回退到查询字符串中的参数。

答案 1 :(得分:0)

要回答这个问题,

Cookie可以修改(嗯是黑客入侵),但会话不能。

答案 2 :(得分:0)

在网址中的会话:

  1. 通过会话ID进行相当大量的工作 网址。
  2. 修复Cookie导致的安全问题是一项小工作。
  3. 让每个网址都有结尾只是看起来更丑陋吗?session_id = foobar23454364634
  4. Cookie中的会话:

    1. 携带带有cookie的session_id几乎没有任何工作量。
    2. 了解sessino cookies(XSRF)导致的安全问题是一项中等工作量。
    3. 未修改网址。
    4. 您既可以选择实施方式,也可以让用户选择。