由于PHP会话基本上是cookie,我使用它们来验证登录用户(我知道,我应该转移到令牌),是否可以在我的节点应用程序上读取会话cookie? (我想创建一个简单的聊天,从PHP会话中获取登录的用户名,并且在此过程中只允许登录的用户使用聊天)
那么这样做的首选方式是什么? (在安全性方面)
**编辑:我试图在PHP中获得与此类似的节点:
if(!isset($_SESSION['user_id']){
//don't allow access to the chat page
} else {
//show chat for logged user
}
答案 0 :(得分:2)
Cookie不是特定于语言的,因此如果cookie存在,您当然可以使用node.js读取它。
但是,浏览器只将cookie发送到与之关联的服务器。因此,如果您的PHP服务器不是与node.js服务器相同的子域的一部分,并且cookie配置为允许与子域共享,则浏览器不会将PHP cookie发送到您的节点。 js服务器。
要使用Express阅读Cookie,您可以使用cookie-parser module。有关如何使用它的示例在doc中。安装cookie-parser中间件后,最终会引用:
req.cookie
访问相同的Cookie。要使用Express和node.js管理会话并跟踪服务器端会话状态,通常会使用express-session module。