【问题标题】:Node.js with PHP sessions, MySQL and/or Redis?带有 PHP 会话、MySQL 和/或 Redis 的 Node.js?
【发布时间】:2014-07-24 13:31:22
【问题描述】:

我希望在这篇文章中添加信息

Node.js (mysql+socket.io) Authentication PHP via Cookie?

如果可能,请根据上述问题的假设解释这部分以及场景是否正确:

假设我有用户通过 ajax 登录,成功后,我使用 ajax 响应将会话 ID 返回到客户端,并将其发送到 websocket 请求。在 node.js 上,我保留了一个成功登录会话 ID 的数组,并且可以使用会话 ID 获取 member_id。这样我就不必通过 javascript 访问会话 ID(仅保留 cookie http)。最后,当我访问另一个页面时,我必须使用 ajax 将会话 ID 重新发送到 websockets 以重新启动 websocket 聊天。

我的理解正确吗?安全是我关心的问题,我不知道如果我有一个带有 session_id 的 ajax 响应会发生什么可怕的问题。或者有没有办法绕过这个发送?我读过一个叫做 Redis 的东西,它会在我运行 apache、node.js 和 mysql 时运行吗?所以我有 2 个数据库同时运行,而不是只有一个?


编辑:已经看到有人试图关闭问题。让我换个说法,通过 ajax 响应返回会话 ID 是否构成威胁..?

【问题讨论】:

    标签: javascript php mysql ajax node.js


    【解决方案1】:

    我认为你让这件事变得比它需要的更复杂。您只需要定期会话(使用 httpOnly cookie)。 Websocket 请求已经发送带有初始 HTTP 升级请求的 cookie。

    关于通过 redis 在 node 和 PHP 之间共享会话,请参阅this answer

    【讨论】:

    • 谢谢,没有意识到 websockets 发送了升级请求。只制作了 httponly cookie,一切正常。
    猜你喜欢
    • 2014-12-23
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    • 1970-01-01
    • 2014-09-06
    • 2012-10-20
    相关资源
    最近更新 更多