回答
它们本质上是相同的,携手合作。当您通过PHP创建会话...时,会创建一个cookie来存储会话ID。另一方面,如果要实现“记住我”选项以防止用户每次都登录,则会创建另一个Cookie。
我不是PHP专家,但会话和Cookie相关。在其他编程语言中,您可以选择创建“基于Cookie的会话”或“无Cookie会话”。虽然我不确定PHP,但也许你是指不同的概念。
这可能是更好的评论。 – mattbasta 2010-08-03 20:59:21
cookie是服务器通过标题发送的一小段任意数据;客户端将其存储在本地,并在下一个请求中将其发回。即使HTTP本身是一个无状态协议,也可以使用此机制来维护从一个请求到下一个请求的状态。 Cookies有两个缺点:它们只提供非常有限的空间(4 kB),并且由于它们是以平淡无奇的方式来回发送的,所以恶意客户端在将内容发送回服务器之前可以摆弄内容,从而有效地使cookie数据不受信任。
会话是服务器上的文件,由客户端和服务器之间来回发送的唯一ID标识,以便服务器可以识别客户端。发送会话ID最流行的方式是通过cookie机制,但也可以通过URL传递会话ID(这就是为什么您经常会看到包含URL参数'phpsessid'的链接的原因)。这解决了上面提到的cookie的两个问题:服务器上的文件可能与需要的一样大,客户端无法通过自己的脚本访问数据。
认证通常使用基于cookie的会话解决;一旦通过身份验证,将创建一个新会话,并将用户标识存储在其中,并且在注销时会话将被清除并生成新的会话标识。或者,您可以在会话中存储用户名和密码,并在每个请求中检查它们。
使用会话。
会话由cookie标识,为true,但不同于在用户cookie中存储用户认证信息,这对安全性不利。会话cookie在cookie中存储了一个guid或一个散列,然后基于此识别会话(基于数据库或文件系统,取决于您的服务器的php设置)。
我建议您从用户表中存储主键而不是其他任何信息,然后每次查找用户信息 - 这允许您在登录时更改其验证状态或安全级别;否则他们将不得不在您的管理更改生效之前注销并重新登录 - IE。你无法启动它们。
此外,不要存储用户名/密码,因为这需要比索引主键(即使它们已编入索引)效率更低的查询。
我觉得使用会话比使用cookie更安全,更容易。原因如下:
1)在cookie中,我们只能存储一条信息,而在一个会话中,我们可以存储尽可能多的信息。 2)存储在用户的硬盘上,cookies可以播放。作为一个对黑客感兴趣的人,我已经完成并收集了有关用户的有用信息。会话不能用于这样的事情。
如果它的少量数据(只有一个变量),我会使用一个cookie。这里是代码...
setcookie("cookie name", "cookie value or variable name", time+ 3600, "\");
此代码设置一个可读取您的任何网页的cookie。它也会在一个小时内删除自己。
您还可以看到cookie是否像这样存在(以查看它是否删除了它自己)。
if (isset($_COOKIE['cookiename']))
{
}
从一个cookie收集值...
$value = $_COOKIE['cookiename']; //makes a variable for this cookie for your program
- 1. 会话cookies = cookies?
- 2. HTTPS会话/ cookies
- 3. WebView iOS不保存会话或cookies
- 4. php会话和cookies
- 5. 会话和Cookies asp.net
- 6. 伪造会话/ Cookies?
- 7. htaccess和会话/ cookies
- 8. 用会话cookies卷曲吗?
- 9. ASP.NET删除会话/ Cookies
- 10. 发布cookies /到期会话
- 11. 没有cookies的会话
- 12. 使用会话和Cookies
- 13. 结束会话/清除Cookies
- 14. 了解会话和cookies
- 15. Cookies /会话登录系统
- 16. 没有cookies的Scalatra会话
- 17. 联盟计划 - 会话,Cookies或两者兼而有之?
- 18. symfony2会话,cookies或者完全不同的东西?
- 19. 登录系统(PHP)Cookies和会话
- 20. felix exthttpservice为cookies设置会话路径
- 21. 使用cURL - 维护cookies和会话等
- 22. PHP:用户登录会话和cookies
- 23. iPhone“Bookmark to Homescreen”删除cookies和会话?
- 24. 使用javascript从cookies获取会话ID
- 25. PHP会话,COOKIES和记住我功能
- 26. cookies和会话状态对象
- 27. 会话和Cookies移动应用
- 28. PHP会话不预防来自Cookies
- 29. 来自WSGI的读取会话/ cookies
- 30. 听起来如何?会话和Cookies?
会话通过cookie来识别。你有点问:“我应该在这个馅饼中使用苹果还是苹果?”我认为你的真正意思是“我应该将会话数据存储在客户端的Cookie还是我的服务器上?” – 2010-08-03 18:32:56