読者です 読者をやめる 読者になる 読者になる

ニコニコ動画とセッションID

nicovideo

ニコニコ動画へログインし、それと同時に、他のブラウザから同じIDでログインすると、最初にログインした方はログアウトとして処理される。
これはニコニコ動画がそのようなセッション管理を行っているためである。
ニコニコ動画をハックし、何らかのサービスやソフトウェアを作成する場合、この認証をどう処理するかという点が重要になる。

セッション管理は当然、cookieを用いて実装されており、ブラウザには次のようなセッションIDがcookieとして記録される。

user_session: user_session_*****_************
('*'の部分には10進数が入る)

ここで、次のような疑問が出る。
セッションIDさえ同じならば、IPやUser-Agentが異なってもセッションは持続されるのか?

セッションの同一性判定に、セッションIDだけでなくIPやUser-Agentの同一性も利用されているとしたら、セッションIDだけでセッションを持続させることはできない。
結果を述べると、そのような条件下でもセッションは持続された。User-Agentの異なる複数のブラウザ(Firefox2,Opera9を用いた)に、クッキーマネージャを利用して同じセッションIDを書き込み、同時にニコニコ動画にアクセスしたところ、ログアウト処理は行われなかった。また、IPの異なる2台のマシンでも同じ事を試してみたが、やはりログアウトは起こらなかった。

つまり、一度発行されたセッションIDをcookieとして持続している限り、たとえIPやブラウザが変わっても、セッションは持続されることが分かった。