使用Redis在PHP和node.js之间共享会话

使用Redis在PHP和node.js之间共享会话,php,node.js,session,nginx,Php,Node.js,Session,Nginx,我带着一个关于会话安全的简单但非常重要的问题来到这里 我想知道从PHP后端与node.js+socket.io共享会话以验证和授权WebSocket与该数据的连接是否安全?为了在PHP和node.js之间共享会话,我计划使用Redis 我见过许多解决方案向PHP后端发出HTTP请求以获取会话数据,但我发现这是不必要的,因为我计划使用Redis存储会话(允许在多个服务器上分发PHP后端) 我不确定还有什么相关信息,所以请不要犹豫询问 我认为还值得一提的是,PHP后端是带有连接到PHP-FPM的ng

我带着一个关于会话安全的简单但非常重要的问题来到这里

我想知道从PHP后端与node.js+socket.io共享会话以验证和授权WebSocket与该数据的连接是否安全?为了在PHP和node.js之间共享会话,我计划使用Redis

我见过许多解决方案向PHP后端发出HTTP请求以获取会话数据,但我发现这是不必要的,因为我计划使用Redis存储会话(允许在多个服务器上分发PHP后端)

我不确定还有什么相关信息,所以请不要犹豫询问

我认为还值得一提的是,PHP后端是带有连接到PHP-FPM的nginx fastCGI模块的服务器,节点也将驻留在nginx后面。此外,常规PHP和WebSocket连接都使用SSL

因为问题似乎没有明确说明:
使用Redis(Memcached或noSQL数据库,而我将使用Redis)共享会话在安全性方面是否明智?为什么所有教程都使用HTTP请求,而不是看起来更简单、更高效的请求(是因为可伸缩性)?

那么问题是什么?在我看来,redis just storage已经足够安全了。您可以使用
SessionInterfaceHandler
将会话存储在数据库中并加载它们。很简单,假设他们共享同一个db?@bxN5好吧,也许我没有充分强调这个问题。基本上,问题是:以这种方式共享会话(在安全方面)是一种好的做法吗?大多数教程似乎更喜欢HTTP请求。@user1970395为什么它不是HTTP查询?您将请求发送到php,php在redis中存储会话,将请求发送到节点,节点获取会话并发送响应,是的,也许它不如本机流那么安全,但在您的情况下还有其他选项吗?@bxN5嗯,我的意思是,大多数教程都使用从节点到php后端发出的HTTP请求来查询会话数据。我还将节点仅用于WebSocket,因此对节点后端没有真正的查询,而主要是服务器->浏览器数据流。在WebSocket握手期间,我希望获取PHP会话数据,以验证用户是否已登录(并有权访问某些频道)。我看到了两种方法:HTTP请求到PHP后端并将会话存储在Redis中,然后基于cookie从Redis获取节点中的会话数据。