【发布时间】:2015-05-09 20:55:04
【问题描述】:
我正在尝试在 node.js 中使用活动会话(从 php 开始)
对于 PHP,我将会话存储在 mysql 中(通过使用 session_set_save_handler,如 http://phpsecurity.org/code/ch08-2 中所述)。适用于 PHP。
现在计划:
1) 来自 php 应用程序的客户端“执行”node.js 与 GET 中客户端的 PHPSESSID cookie 的链接:
http://192.168.0.222:53077/?phpsession=02isg9kv8fbveqhmt1htcj6cc7
2) 在 node.js 服务器端获取 PHPSESSID,在 mysql 会话表中查找它的值
3) 如果 mysql 中存在 PHPSESSID 值 - 读取存储在 mysql(会话表)中的用户 id、name 和其他用户数据
问题是 - 方法对吗?我认为我错了,至少从第 2 步开始。在 Node.js 中使用存储在 mysql 中的会话从 php 开始的正确工作方式是什么?
请尽量不要建议我将会话存储在 memcached 或 redis 中,我选择了 mysql。
【问题讨论】:
-
通过 URL 传递会话令牌会使您的用户特别容易受到会话劫持(将显示在服务器日志中,可能显示在存储在浏览器中的 url 上等)。我会在请求中添加一个 HTTP 标头。
-
我预料到了。本来想问的,但你已经回答了。你建议我不要使用 GET 吗?或者 - 使用 GET,但发送 HTTP 标头而不是 cookie id?你能写一个小样本吗?无论如何,谢谢。