• 更新:
  • 投稿:
  • カテゴリィ:

もうひとつの「自動ログイン」

livedoor Reader へ自動的にログインする方法を書いた。

livedoor Reader へ SSL 認証で自動ログインする方法 : 亜細亜ノ蛾

便利なチップス記事、と見せかけて大企業のサービスに対して苦言を呈しているので、「中の人」が見てこっそり直してくれるのを期待している。

「人様が考え出したアイデアを無断で改変し、我が物顔で公開する」といういつもの手口だが、我ながら良い記事を書いたと思う(自画自賛)。

ただ、自宅で自分だけが使っているコンピュータなら、もっと手軽に使いたい。ログインする手順自体を省略できないものか──。できれば、最初のデートはお食事だけという手順も省略したいものだ──。

HTTP cookie

「ログイン前/ ログイン後」を相手のサイト(サーバ)が見分けているのは、多くの場合はブラウザのクッキー(HTTP cookie)だ。livedoor Reader も同じで(セッション・)クッキーを利用している。

ref.: HTTP cookie - Wikipedia

Firefox やサイト側の仕様なのか、それとも自分が何か間違っているのか、ブラウザの終了と同時にクッキーが破棄されるようだ。少なくとも自分のコンピュータでは。

さて、どうするか──。って、こうして記事にしているという事実から、そしてタイトルを見ても分かるとおり、解決策が見つかったので紹介してみよう(実行は自己責任で!)。

クッキーの設定

まずは Firefox のオプション画面で「○日間クッキーを保存する」みたいな項目を探したが、そのような選択肢はなかった。

Firefox 3 の Cookie 設定

検索してみると、about:config や user.js で設定できるようだ。

network.cookie.lifetime.days
network.cookie.lifetimePolicy が 3 のときに cookie を何日保存するのか。

network.cookie.lifetimePolicy
cookie の保存期間をどのように設定するか。

  • 0: サーバーが指定した期間まで
  • 1: 毎回ユーザーに確認する
  • 2: ブラウザを終了するまで
  • 3: network.cookie.lifetime.days で指定された日数の間保存する
//Cookieの保存期間。サーバーの指定した期間(0) 毎回確認(1)
//セッション間のみ(2) network.cookie.lifetime.daysで指定(3)
user_pref("network.cookie.lifetimePolicy",3);
user_pref("network.cookie.lifetime.days",90);

おれのオレによる俺のためのブログ:Firefox Cookieの管理についての記述メモ2

快適な環境へ

上で例に挙げている user_pref("..."); の 2 行を user.js に書き込んだ。これでサーバの指定した期間にかかわらず、90 日間はクッキーが保存される。

livedoor Reader にログインしたあとブラウザを再起動すると、ログイン作業が不要になっていた。これは便利だ。

about:config と user.js については、下の説明をどうぞ。

about:config と user.js による Firefox のカスタマイズ - えむもじら

まとめ

クッキーの保存期間を延長することによって、セキュリティ上の問題があるかもしれない。しかし、クッキーの保存期間を「Firefox の終了まで」にしている人が 90 日間ブラウザを閉じなければ、同じことだ。というのは暴論だろうか(きっとそう)。

XSS脆弱性うんぬんという話につながりそうだが、そもそもクッキーを盗まれた時点で期間は関係ない気がするしなぁ……(ぶつぶつ)。ひろみちゅ先生に、また [bad] タグをつけられるのかなぁ……。

はてなブックマーク - HiromitsuTakagiのブックマーク / bad

まぁ、ここは「自己責任でどうぞ」というお決まりの文句でお茶を濁して終わる──。

[2] このページの一番上へ戻る