会话或饼干?

1 php

我正在建立一个主要学习的论坛,但希望有一天会有几个用户.

我想知道你应该使用会话或cookie进行用户身份验证吗?

tda*_*ers 13

Cookie是服务器通过标头发送的一小段任意数据; 客户端将其存储在本地,并在下一个请求时将其发回.即使HTTP本身是无状态协议,该机制也可用于维护从一个请求到下一个请求的状态.Cookie有两个缺点:它们只提供非常有限的空间(4 kB),并且因为它们是普通的来回发送,恶意客户端可以在将内容发送回服务器之前调整内容,从而有效地使cookie数据不受信任.

会话是服务器上的文件,由唯一ID标识,该ID在客户端和服务器之间来回发送,以便服务器可以识别客户端.发送会话ID的最常用方法是通过cookie机制,但也可以通过URL传递会话ID(这就是为什么你经常看到包含URL参数'phpsessid'的链接).这解决了上面提到的cookie的两个问题:服务器上的文件可以根据需要大小,并且客户端不能通过您自己的脚本访问数据.

通常使用基于cookie的会话来解决身份验证; 经过身份验证后,将创建一个新会话,并在其中存储用户ID,并在注销时清除会话并生成新的会话ID.或者,您可以在会话中存储用户名和密码,并在每个请求中检查它们.