PHP和node.js共享会话标识

Dav*_*rke 2 php cookies session memcached node.js

我正在寻找使用node.js和socket.io实现聊天/消息传递系统来传递消息等.

但是,系统将使用PHP认证系统使用PHP会话.显然我需要一些方法知道连接的node.js用户X是经过PHP身份验证的用户X?

经过一些研究,似乎使用Memcache与节点共享php会话(通过存储在JSON等中)是相当普遍的.但是仍然存在识别哪个连接节点用户存储哪个php会话的问题?

我的第一个想法是使用PHP设置的cookie,利用PHPSESSID值等 - 但是用户肯定可以将cookie修改为其他人的PHPSESSID和bazinga?(显然他们要么必须知道PHPSESSID还是非常擅长猜测,但这似乎仍然是一个安全漏洞?

你对此有何看法?是实现我想要的最好方法吗?

dou*_*arp 5

事实上,使用PHP会话ID应该足够安全,实际上,这就是任何PHP站点处理身份验证的方式.用户登录后,必须在浏览器中保存某种"令牌",以使该站点知道他们是谁,以便确定他们已登录.你可以创建自己的,或者你可以使用已经创建的会话,如果这对你来说更容易.这个想法是会话ID值足够长且足够复杂,以至于在它对特定用户的身份验证有效期间无法猜到.

如果您想进一步保护用户,请确保您一直使用SSL连接,这样就无法窥探会话ID.

  • +1,简而言之,会话ID是临时密码,只能使用一次. (3认同)