我正在构建一个简单的 web 应用程序,我想使用会话来保持用户登录。我已经搜索了很长时间,以找出我应该在会话中保存哪些变量以保持用户登录。我应该使用哪些变量不保存,我为什么要这样做..我的所有会话都在 memcacheD 中(注意它带有'D')..
此外,我一直在寻找一本电子书,以准确地告诉我如何基于会话构建安全环境。我一直在观察 Facebook 保存的变量,但我似乎无法弄清楚它们的用途(显然这就是他们想要的,否则它不会那么安全)。
您无法真正知道 Facebook 到底存储了什么。
您所能看到的只是存储在您的 cookie 中的内容。
在大多数情况下,cookie 只接收会话 ID,并且会话本身存储在服务器上,在您的情况下 - memcached。
您可以在页面请求之间存储您需要的任何内容。登录用户的 ID,可能是一些购物车数据等
基本上会话用于存储您的逻辑实体。不要存储大量数据。保留真正重要且可用于检索其他相关信息的数据。例如,您可以在会话中存储 user_id 或 username 并使用它来检索用户相关信息。
如果使用电子商务网站,您可以将购物车相关数据存储在会话中,如 cart_id 等。
不要储存:
您不应存储信用卡号码或任何其他付款详细信息等安全信息。存储用户密码或其他相关凭据也不应保留在会话中。
关于 Facebook,他们基本上使用 oAuth 标准,而这些标准又具有访问用户相关信息的标记化方法。它们是目前非常安全和流行的身份验证模式。