【发布时间】:2012-04-12 23:43:12
【问题描述】:
当涉及到 php 中的会话 cookie 时,我试图了解安全性。我已经阅读了很多关于它的内容,但我仍然缺乏细节。我需要基础知识,有人来展示示例。
例如:我是否在每个会话 cookie 之前放置 session_regenerate_id()?我还要考虑什么。我在询问代码中的细节 - 如果可能的话,示例。
非常感谢。
我在登录后使用了 4 个会话 cookie。
SESSION "site_logged_in" = true
SESSION "site_user_nr" = the number of the user to access user_table_nr
SESSION "site_user_id" = the user's id to use when changing data in tables
SESSION "site_user_name" = the name of the user to display on page
当我检查用户是否有访问权限时,我会检查是否设置了所有 4 个 cookie,以及 site_logged_in 是否设置为 true。
有没有更好的方法?我对此有完全错误的想法吗?用户容易被黑吗?
【问题讨论】:
-
无论您选择使用多少个会话变量,您实际上都在使用一个 cookie。我建议阅读一下PHP session handling,也可能阅读一下 HTTP cookie。
-
首先,将所有变量合并为 1 并用冒号分隔。所以
true:1:1:thomas。然后使用list($site_logged_in,$site_user_nr...) = explode(SESSION_COOKIE_HERE);。 -
Ben Carey:你愿意为你刚才所说的编写整个代码吗?
-
我不会建议 Ben 的建议,这是处理 $_SESSION 已经提供的非常低效的方法。
标签: php security authentication session-cookies