分别用PHP和NodeJs开发了两个应用,那么这两个应用如何共用一个session?
回复内容:
分别用PHP和NodeJs开发了两个应用,那么这两个应用如何共用一个session?
了解下session的机制
- 客户端(浏览器中) cookie 作为键值,匹配服务器端的一个数据。然后客户端每次在 HTTP 请求里面带着那个 cookie,然后服务器端“理所当然”认为服务器端的这个数据是针对该客户端的。
- 某些系统喜欢把 session 内容编码后加密放在 cookie 里面
SO:
- 你可以共用 cookie,然后把数据放在 nodejs 和 拍黄片(Sorry,是PHP) 都可以取到的地方,例如 redis。影像中 php 默认的 session 是写他自己的文件的,So,你需要同时重写。
- 两个服务端共用一套加解密方式,不过不太建议。
二者共享的基础的基础条件是:
1. 客户端的cookie中保存 session_id
值的cookie name一样
2. 服务端把session数据保存在共享的存储介质中,比如数据库、redis。通过同样的方式序列化、反序列化session值。例如二者都使用 json格式来做存储
参考这个项目:https://gist.github.com/mscdex/9507b0d8df42e0aec825 给出了php
和node.js
共享的方案,其中php使用的存储方案:redis-session-php
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn