重要的:
首先,您应该记住一些重要的安全建议:
你的问题:
由于它是一个 REST 应用程序,我将不得不使用 Cookie 进行会话管理。对吗?
使用会话将是最安全的(最好的),但当然还有更多的会话管理解决方案。但是如果你只使用 cookie(没有 php $_SESSION
)那么你当然应该加密你的 cookie。但我建议你只使用 $_SESSION。
我在 Cookie 中存储了哪些值?
您不会在 cookie 中存储任何内容。$_SESSION
为您创建独特的 cookie(自动 => 您不必考虑它)。您放入的所有内容都$_SESSION
存储在服务器上,因此用户无法阅读。您可以在会话中存储您喜欢存储的任何信息,但请记住,最好不要在您的应用程序中存储敏感数据(密码、信用卡、密码等)。我已经暗示您的 $_SESSION 存储在服务器上,但是可以猜测(欺骗)具有唯一标识符以与存储在磁盘(或数据库)上的会话匹配的 cookie 。
如何验证会话?
您通过检查存储在会话中的信息来验证会话。我假设您至少$_SESSION['id'] = $openid->identity;
在会话中存储。请记住,在用户使用 openid 登录您的网站后,您应该重新生成 session(id)以防止session fixation。
如何注销用户?
您只需调用session_destroy,会话中存储的所有数据都将被删除。
我希望这能解释你所有的问题。
PS:
cookie jar 中的会话为您提供了会话的基本介绍(尽管我没有看到它提到会话固定:$)。