2011-12-19 103 views
0

我正在构建的站点的管理控制面板需要登录脚本。活动用户存储在一个mysql表中,但是一旦用户通过身份验证,我是否应该将该令牌存储为会话或cookie?哪个(如果有的话)更安全?用户登录会话与Cookie

+2

请阅读此:http://stackoverflow.com/questions/1221447/what-do-i-need-to-store-in-the-php-session-when-user-logged-in/1225668# 1225668 – 2011-12-19 23:07:33

回答

2

会议,绝对。它们存储在服务器上。 Cookies存储在客户端,用户可以轻松编辑。

+1

,它们可以被捕获并用于控制来自“中间人”的用户数据...所以我同意.. – DonCallisto 2011-12-19 23:08:05

+2

PHP中的默认会话处理程序仍然容易受到中间人攻击(因为会话实际上只是一个cookie)。规避它的最好方法是切换到HTTPS。 – Halcyon 2011-12-19 23:11:44

1

环节无非是服务器端的cookie在这个意义上,数据存储在服务器上的多。客户端仍然得到一个cookie,对于PHP而言(PHPSESSID或类似的东西),这只是一个识别会话的数字。

使用会话的一些优点是,您不必随每个请求都传递数据,并且客户端不能“混淆”它。另外,在PHP中,您可以实现自己的会话存储机制,因此您不受限于任何会话大小限制,但这可能远远超出您的范围:P(session_set_save_handler,请参阅PHP.net以获取更多信息) 。