山口様
お世話になります。
永田です。
この場合のセッションの扱いなのですが、以下の認識で合っていますでしょうか。
1.セッション共有化のフェーズ
1-1.PHPサイトにログインしたユーザAのHTTPセッションと
NodeのWebsocketセッションをユーザIDをキーとして共有化する。
1-2.PHPサイトにログインしたユーザBのHTTPセッションと
NodeのWebsocketセッションを ユーザIDをキーとして共有化する。
2. PHP,Node間のデータやりとりフェーズ
ユーザAからユーザBに通知したい場合、
ユーザAのアクションのタイミングでNodeにリクエストを投げる。
永田さん
こんにちは。山口です。
CoffeeScriptですが、簡単なサンプルを記載します。
1.セッション共有化のフェーズ
■クライアント(ブラウザ)側のJS
socket = io.connect http://example.com:3000;
socket.on 'connect', =
socket.emit('cookie', { cookie: document.cookie })
#Websocketの接続できたらCookieを送る
■Node
http = require('http')
cookie = require('cookie')
山口です。
KOBA789さん
ご指摘ありがとうございます。
XSSなければ大きな問題ないかとも思いますが、
おっしゃるとおりあまり良い方法ではありませんね。
永田さん
というわけですのでSame-Originにしたうえで、
io.sockets.on 'connection', (socket)-
user_cookie = cookie.parse(socket.handshake.headers.cookie).php_session_id
param = querystring.stringify({php_session_id: user_cookie})
KOBA789です。
細かいとこですが、Same-Origin と Cookie の読み出しポリシーは異なるので、確かポートが違っても読み出せますね。
On Aug 3, 2013 11:10 AM, Takayuki Yamaguchi takayuki.yamaguc...@gmail.com
wrote:
山口です。
KOBA789さん
ご指摘ありがとうございます。
XSSなければ大きな問題ないかとも思いますが、
おっしゃるとおりあまり良い方法ではありませんね。
永田さん
というわけですのでSame-Originにしたうえで、
io.sockets.on
山口です。
確かポートが違っても読み出せますね
お、そうなんですね。勘違いしてました。
ポート違いが許可されてるなら構築も簡単になりますね。
ありがとうございます!
2013/08/03 11:13 小林秀和 kobahide...@gmail.com:
KOBA789です。
細かいとこですが、Same-Origin と Cookie の読み出しポリシーは異なるので、確かポートが違っても読み出せますね。
On Aug 3, 2013 11:10 AM, Takayuki Yamaguchi
takayuki.yamaguc...@gmail.com wrote:
山口様、KOBA789様
永田です。
セキュリティも考慮した丁寧なご説明ありがとうございます。
頂いたご意見を参考にし、セキュアなアプリを構築したいと思います。
2013年8月3日 11:19 Takayuki Yamaguchi takayuki.yamaguc...@gmail.com:
山口です。
確かポートが違っても読み出せますね
お、そうなんですね。勘違いしてました。
ポート違いが許可されてるなら構築も簡単になりますね。
ありがとうございます!
2013/08/03 11:13 小林秀和 kobahide...@gmail.com: