在HTTPS连接中cookie是安全的吗?

Cas*_*Roy 14 php cookies

在HTTPS连接中cookie是安全的吗?

Poi*_*nty 17

它以加密方式传输到服务器和从服务器传输,因此它与TLS一样安全.

您还可以将cookie标记为仅用于客户端 - >服务器通信,并通过在"Set-cookie"响应头中添加"HttpOnly"标志来阻止从客户端Javascript访问.

编辑 - 并且正如@Bruno建议的那样,您还可以使用"安全"标志(在同一标头中)告诉浏览器cookie应该只在https请求中发送回服务器.正如@DW在较新的评论中指出的那样,这可能非常重要,因为您几乎肯定不希望您的重要安全cookie可能在不安全的交互中传输(例如,在从非安全公共部分登录之前)现场).如果与特定cookie域的所有交互都是HTTPS,那么这可能不是必需的,但它是如此简单,以至于没有理由不这样做.

编辑 - 更新,很久以后:使用secure标志:)

  • 它也值得使用安全cookie标志. (3认同)
  • 这个答案是错误的.如果设置了安全标志,则cookie仅"与TLS一样安全".否则,中间人或潜在的被动窃听者可以学习cookie值(因为如果未设置安全标志,它将通过未加密的会话以明文形式发送). (2认同)

jon*_*oni 6

在这方面,是的.但它仍然存储在未加密的客户端机器上.


Ger*_*ger 6

Cookie在HTTP标头中发送.因此,它们与HTTPS连接一样安全,这取决于许多SSL/TLS参数,如密码强度或公钥​​长度.

请记住,除非您Secure为Cookie 设置了标记,否则Cookie可以通过不安全的HTTP连接进行传输.有一些中间人攻击使用这种不安全的Cookie来窃取会话信息.因此,除非您有充分的理由不这样做,否则当您希望它们仅通过HTTPS传输时,请始终为Cookie设置安全标志.