【问题标题】:node.js socket.io php session whit out redis and memcachednode.js socket.io php 会话没有 redis 和 memcached
【发布时间】:2014-12-23 05:59:06
【问题描述】:

我有一个由 PHP 提供的站点,每个用户在登录时都有一个 Session 存储在 php 文件中。

我的问题是:在没有 redis 或 memcached 的情况下,有可能将会话从 php 文件获取到 node.js 服务器,或者如果没有,我该如何使用 redis 和 memcached 来做到这一点?

【问题讨论】:

  • “每个用户都有一个 Session 存储在一个 php 文件中”...你能详细说明一下吗?您正在编写自己的会话处理程序?而你正在编写 PHP 文件?

标签: php node.js sockets session socket.io


【解决方案1】:

无论您如何存储 PHP 会话,如果您想与外部应用程序共享数据,都应该从您的 PHP 应用程序提供数据。这使您可以灵活地在以后更改会话处理,同时避免在 Node.js 应用程序上编写一些自定义会话数据解析代码。

<?php
session_id($_GET['sessionId']);
echo json_encode($_SESSION);

然后在您的 Node.js 应用程序中,您可以获取 /getSessionData.php?sessionId=0123456789abcdef 或其他任何内容。请注意,您必须锁定此脚本,使其完全无法访问,除非您的其他应用程序可以访问它。否则,您将面临一个令人讨厌的安全漏洞。此外,如果您还没有轮换会话 ID,则无论如何都应该重新编写会话处理程序,这样就很难使用旧的会话 ID 重新播放请求。

【讨论】:

    猜你喜欢
    • 2013-12-27
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    相关资源
    最近更新 更多