2012-03-12 87 views
0

我正在開發一個拍賣網站,用戶必須登錄之前出價。 該網站是在PHP和主要數據(用戶,拍賣等)實現存儲在MySQL中。 爲了實現一個實時系統,我使用node.js來開發一個websocket(我使用socket.io),以便從redis獲取出價數據。如果用戶登錄,使用php進行控制當然是非常簡單的,但我想確保我的系統控制該請求是否也由記錄用戶在nodejs中進行。我該怎麼做?傳遞用戶數據的每個套接字請求是不確定的,這意味着每次我都必須向mysql進行查詢以檢查用戶是否存在(這不是一個很好的做法),而且我認爲這會減慢我的系統。你有什麼想法嗎?安全websocket與nodejs php和mysql

回答

0

您只需在創建新連接後授權用戶一次。連接後這樣的發送授權cookie。在檢查cookie後,您可以將當前連接綁定到用戶。爲了提高安全性,您可以根據IP地址向客戶端發送一個小型隨機密鑰。該密鑰將隨每個請求一起發送。你不需要額外的mysql請求來檢查它。

+0

但cookies適用於不同的端口?因爲我有http://www.example.com/下的網站和http://www.example.com:8888下的websocket,它是否可以用nodejs捕獲第一個cookie?通常使用cookie的授權不是很安全? – 2012-03-12 14:51:22

+0

您可以使用document.cookie中的javascript獲取auth cookie,並直接使用socket.io第一條消息發送它。 – 2012-03-12 15:20:26