簡體   English   中英

將PHP會話與Vue / Node.js集成

[英]Integrate PHP sessions with Vue/Node.js

我有一個PHP應用程序,它可以對用戶進行身份驗證,執行MySQL查詢並依賴$_SESSION cookie。

一切工作正常,但我意識到我需要對Frontend做更多的工作,因此不得不使用Vue.js和websockets。

因此,我將node.js用於主域localhost (出於生產目的)

我在localhost:8080上提供了PHP API,以便Vue.js可以與PHP后端通信。

現在,這是我的問題

如何在Vue / Websocket中使用/存儲$_SESSION ID並將其與對PHP服務器的每個請求一起發送?

我對stackoverflow進行了一些研究,發現session_id()可以返回當前的Session ID,但是我不知道如何將PHP與Vue集成。

注意:我正在使用Vue.js(Vue,路由器,Vuex)和socket.io與Node.js

由於PHP服務器和node.JS服務器在兩個不同的端口上運行,因此在所有瀏覽器中它們被視為不同的來源。 這意味着從localhost:8080發送的cookie將不會發送到對localhost:80任何請求。 解決此問題的一種方法是刪除會話cookie上的僅http標志 ,以便您可以通過javascript BUT手動發送cookie,如果有人設法在您的網站上運行XSS攻擊,則最終可能會非常糟糕。

其他方式是1)僅使用前端的兩個服務器之一,然后使使用的后端與另一個后端進行通信,這意味着您可以使php僅對節點應用程序可用,或者2)重新設計PHP以使用令牌。 據我了解,您正在使用php作為API,並且大多數API都設計為使用令牌而不是會話,因為您通常是從另一個域訪問該API。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM