サイトごとにChromeのプロファイル(ユーザー)を使い分けるという使い方の提案
背景は前回のエントリを参照してください。
今まで一度も使ったことが無かったのですが、Chromium/Google Chrome にはユーザの切り替え機能があることを思い出しました。
はてなブログ用のユーザーを作成し、hatenaにログインする必要がある場合はユーザを切り替えれば、既存の環境に影響を与えずhatenaのcookieを受け入れることができます。
- ブラウザを起動し、ウィンドウ右上のユーザー名をクリック、表示されたダイアログ上の「ユーザーを切り替え」を選択します。
- 表示されたダイアログの下部にある「ユーザーを追加」を選択します。
- 新しいユーザーが作成されますので、ユーザーのアイコンをクリックします。
これで新しいプロファイルでブラウザが立ち上がるように成りました。
続いてcookieの受け入れ設定です。
- 設定ダイアログを開きます。
- 最下部のリンク「詳細設定を表示...」をクリックし、「プライバシー」設定項目を出現させます。
- 「コンテンツの設定...」ボタンを押し、ダイアログを出現させます。
- Cookie設定において「サイトからのデータ設定をすべてブロックする」「サードパーティのCookieとサイトデータをブロックする」をONにします。
- 「例外の管理...」で以下のように設定をします。
ホスト名のパターン | 動作 |
---|---|
[*.]hatenablog.com | 終了時に消去 |
[*.]hatena.ne.jp | 終了時に消去 |
[*.]hatena.com | 終了時に消去 |
以上です。
(前回と比較するとhatena.com
が増えていますが、写真投稿(フォトライフ使用)するのに必要でしたので追加しています。)
この方法の良いところとして、cookieを残しておいても広範囲に影響は無いのでログイン状態を保持しておきたければそう(動作を「許可」に)してもよい、ということや、ホームページやブックマークをはてなブログ記述用に特化できる、といったことが挙げられます。
Google Chromeで想定通りCookieが消えてくれなかった
このエントリを記載した際に使用していたブラウザのバージョンは以下の通り。
ブラウザ | ブラウザバージョン | OS |
---|---|---|
Chromium | 45.0.2454.101 Ubuntu 15.10 (64-bit) | Ubuntu15.10 |
Firefox | 42.0 | Ubuntu15.10 |
Google Chrome | (未確認 あとで追記) | Windows10 |
背景
はてなブログへログインするためのcookie受け入れ設定をしようと、オムニバー(URLバー)のクッキーマークをポチポチとやってこんな設定にしました。
ホスト名のパターン | 動作 |
---|---|
www.hatena.ne.jp | 終了時に消去 |
blog.hatena.ne.jp | 終了時に消去 |
yukihane.hatenablog.com | 終了時に消去 |
この設定でログインとblogエントリの編集が行えるようになりましたので安心していたのですが、ブラウザを一旦終了して起動しなおしてもログイン状態が継続していることに気づきました。
はてな関係のcookieは終了時に全て削除される(のでログアウト状態にもどる)想定だったので、なにがおかしいのだろう?と起動直後のcookieを見てみました。
すると、設定で指定した www.hatena.ne.jp
等(以降、subdomain cookieと呼称)は確かに消えているのですが、 hatena.ne.jp
や hatenablog.com
といったサブドメインを削ったcookie(以降、rootdomain cookieと呼称)が残ったままになっていました。
ここで、何が想定と異なっていたのかをまとめると、
の2点になります。
問題
rootdomain cookieが受け入れられている
同様の設定をFirefoxでも行ってみたところ、こちらでもrootdomain cookieは受け入れられていました。
どうやらこの挙動はどうやら標準的なもののようです。
ググってみたところ、以下のようなページが見つかりました。
RFC2965(とその後継RFC6265)で、
> x.y.z.com can set a cookie domain to itself or parents - x.y.z.com, y.z.com, z.com
となるようなことが書かれているようで、今回のブラウザ受け入れ設定もこれに準じているのかな、と。
準じているのが良いのか悪いのかで言うと、悪い気がしますが、私のようにホワイトリスト的に使わないのであれば問題ないのかもしれません。
終了時に受け入れたcookieが削除されない
これはChromeとFirefoxで挙動が異なり、Firefoxではrootdomain cookieも削除されていました。つまり、次回起動時には想定通りログアウト状態になっています。
ここでふと気になったのですが、 xxx.example.com
は終了時削除、 yyy.example.com
はずっと保持する、という設定にしていた場合、 example.com
はどうなっている/どうなっているべきなんでしょうね。 xxx
由来のものか yyy
由来のものか区別がつくもんなんでしょうか…?
そんなわけで、一概にChromeのバグだ、ということも出来ないのかも。
結論
rootdomainまで辿って設定が有効になる、かつ消去したいのであれば明示的に記述しなければならないのであれば、結局は次のような設定にする必要があるということになります。
ホスト名のパターン | 動作 |
---|---|
blog.hatena.ne.jp | 終了時に消去 |
www.hatena.ne.jp | 終了時に消去 |
hatena.ne.jp | 終了時に消去 |
yukihane.hatenablog.com | 終了時に消去 |
hatenablog.com | 終了時に消去 |
他のサイトでも同じようなことなんてやってられないしどうしよう、と思案したところ、もっと良い方法があることに気づきました。
次回に続く。
今やはてなを使っても負けかなとは考えなくなった(現在そのポジションに居るのはQiitaかな…)
現在cocologを使用しているのですが、いくつかの不満点が積もってきてこちらへの引っ越しを考えています。
- モバイルサイトが美しくない
- あんまりモバイルの人がアクセスするような内容でも無いのですが、たまに自分のblogがヒットして覗いてみると非常に残念な気持ちになる…
- タグ機能が無い
- 似たようなことをするためにいちいちカテゴリを作る必要があるのですが、カテゴリを新しく作るほど記事を書く内容なのかどうなのか事前にわからないことが多く、どういう単位でカテゴリを作れば良いのか悩む
- はてなブログのカテゴリより(多分)不便です
- エントリのURLが自動で振られ、自分で決められない
- エントリのタイトルを元に決定されるようなのですが、日本語タイトルだとこれまた非常に残念なものに
- html直打ちするのが嫌
- 以前はMicrosoftのWindows Live Writerを使用していましたが、最近はUbuntuで書くことがほとんどで、同じような機能を持つ使いやすいアプリを見つけることができませんでした
- TwitterでURLを貼り付けても概要が表示されない
- サービス提供者(nifty)がアクセスカウンターを勝手にリセットした
- 敢えてcocologを使い続ける必要は無いかな…と考え始めるきっかけになったのはこれ
「使いやすいアプリを見つけることができなかった」というのは現時点ではちょっと事情が変わって、Emacsのorg-modeというものがあるのを知り、勉強中です(Emacs仕様経験ゼロからです…)。
そして更に、org形式のテキストをはてな記法に変換する拡張を書かれている方がいらっしゃるのを見つけまして、これを使用しようと画策しています。
なぜhtmlでもMarkdownでもなくはてな記法に変換しようとしているのかというと、脚注*1がhtmlやMarkdownでは変換できなかったからです…
*1:こういうやつですね