如何将 PHP 用户详细信息(会话)解析到 Node.js 服务器?
Posted
技术标签:
【中文标题】如何将 PHP 用户详细信息(会话)解析到 Node.js 服务器?【英文标题】:How can I parse PHP user details (session) to Node.js server? 【发布时间】:2014-12-07 12:01:11 【问题描述】:所以我有 2 页: 在 Node.js 和 Socket.io (WebSockets) 上运行的聊天页面。 以及用户登录的主页等... 我想这样做,当用户在主页上登录时->它验证详细信息->然后将用户ID存储在会话中并进入由他的用户ID标识的聊天。
哦,是的,用户帐户存储在 mysql 上。
【问题讨论】:
【参考方案1】:好的。创建 Cookies 机制是为了与不同的环境进行通信。让我们使用它..
PHP:
验证用户数据并将其保存到 DB 中,然后将 id
保存到 cookie。
NodeJS:
从 cookie 中读取 id
并从 DB(nodejs 的 MySQL 提供程序)获取数据
【讨论】:
我想到了这种方法,但是:是什么阻止了用户修改 cookie、为其他用户设置 ID 并使用他的个性聊天? 那么你需要更高级的方式——tokens。设置 ID 和令牌(例如 sha1 哈希)。将这两个都存储在数据库中,然后尝试找到与其相等的条目。黑客必须使用暴力攻击(不危险)来破解它。您甚至可以为令牌添加过期时间【参考方案2】:您可以使用groan 之类的模块从节点解析php(基于文件)会话。但是,更好的解决方案可能是使用更好的会话存储,例如redis。使用 redis 在 node 和 PHP 之间共享会话的示例可以找到 here。
【讨论】:
以上是关于如何将 PHP 用户详细信息(会话)解析到 Node.js 服务器?的主要内容,如果未能解决你的问题,请参考以下文章
在 JAVA 中通过身份验证后如何获取 okta 用户详细信息/当前会话