会话令牌 - 它是如何工作的?

时间:2011-02-15 21:50:53

标签: php

我想知道如何最好地保护会话。我搜索了一下并找到了很多答案,但其中很多都太混乱了。

如何防止会话被劫持?我已经阅读了很多关于你在表单中生成的“会话令牌”,但实际上并不了解它们的用途。这如何防止会话劫持?

我知道你不会在会话中保存密码之类的东西,但是你可以安全地存储什么?权限(如会话变量,跟踪用户级别。每次打开页面时,会检查会话变量。这不是一定数量,您会收到“访问被拒绝”消息)?或者你如何处理这个最好的?

谢谢!

1 个答案:

答案 0 :(得分:7)

您基本上可以在会话中存储您想要的任何内容,只是在安全层受到威胁的情况下,不要包含任何安全敏感信息(例如密码),这被认为是“最佳”做法。

阻止会话劫持的第一步是不通过url传递session_id()。用户是愚蠢的,他们会在他们的博客上发布他们的会话ID,这基本上会让点击该链接的人访问他们的会话。因此,建议将会话ID存储在用户cookie中。

话虽如此,您希望过滤并转义所有用户输入。如果你有一个XSS注入,并且用户能够注入javascript,他们将能够毫无问题地读取你的cookie。

从那里开始,您通常希望对网站上的任何主要操作重新生成_session_id(),以防止session fixation

这很简单,总结一下。