gpt4 book ai didi

php - Node Js 与 PHP 之间的通信,反之亦然

转载 作者:太空宇宙 更新时间:2023-11-03 23:43:47 25 4
gpt4 key购买 nike

我所处的情况:

我有一个完整的 PHP 5.3 和 MYSQL 网站,该网站需要用户登录才能访问,登录“简单”检查用户/密码并使用用户 ID 和其他用户在域中创建 $_SESSION非个人数据。

在 PHP 中,我需要读取这个 $_SESSION 来检测用户是否已登录。

现在,我想用 websockets 创建一个 NodeJS 实时聊天(显然只能在最后的浏览器中工作,但我正在寻找纯 HTML5 网站,而不是像 socketio.js 这样的外部客户端 js),但这是我的问题:

第一个问题我需要在 NodeJS 中获取 $_SESSION['user'],为此我需要从 PHP“拉”到 NodeJS,发送一条类似于“update-this-user-auth”的消息$_SESSION['user'] 数据,但问题是,首先如何是从 PHP 服务器拉取到在同一台(或不同..)机器上运行的 NodeJS 服务器的最佳方法。

第二个问题如何在 NodeJS 中识别用户,因为用户在 PHP 中有 $_SESSSIOn 但我不知道请求是否来自用户 n°1、n°32 还是 n°999999。

对于PHP到NodeJS通信的问题,我看了一些帖子,得到了两种方法:

CURL 用户,使用 PHP Curl“调用”NodeJS 服务,并将读取的数据从 PHP 发送到 NodeJS Sending messages from PHP to Node.js

DNODE,我发现这个谷歌搜索,看起来不错,但需要一些额外的库,我喜欢使代码清晰,最好是简单的。 http://bergie.iki.fi/blog/dnode-make_php_and_node-js_talk_to_each_other/

感谢所有为这两个问题提供最佳解决方案的想法和评论。

最佳答案

使用PHP:
您可以在数据库中保存随机生成的 key ,该 key 与用户的 IP、用户 ID 和任何其他 session 信息(创建时间、上次事件时间、到期日期...)相关联。另外,将该 key 也保存在 cookie 中。

使用Node.js:
读取cookie,在DB中找到key并检查session是否有效。

因此,基本上,不要将所有信息存储在 PHP 中,而是使用共享存储,例如数据库。

关于php - Node Js 与 PHP 之间的通信,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17875390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com