アドレスバー(ロケーションバー)を非表示にさせない設定

javascript でウィンドウを開く際に、アドレスバーを表示しないよう指定する事が可能だ。しかし、Firefox で以下の設定を行う事で、この機能を無効にし常にアドレスバーを表示する事ができるようになる。


1、アドレスバーに「about:config」と入力して Enter キーを押下する。
2、「dom.disable_window_open_feature.location」の値を「true」にする。(ダブルクリックで値が入れ替わる)


同様に
「dom.disable_window_open_feature.menubar」の値を「true」にすると、常にメニューバーが表示されるようになる。

いつの間にか

アドレスバーが表示されないようになっていたので、上記の設定をしようとしたのだが久しぶりで項目を忘れちゃってたい。探すのに手間取ったのでメモっとく次第。
しかし、Firefox をインストールした時に設定したはずなんだがなぁ。メニューの設定はちゃんと残ってたのに、なぜアドレスバーだけデフォルトに戻っちゃったんだろう?

Internet Explorer の Cookie ファイルの書式

Internet Exlorer の Cookie データは、Windows 2000 以降の OS ではテキスト形式のファイルとして以下の場所に保存される。

C:\Documents and Settings\ユーザ名\Cookies


ファイルには以下の形式で Cookie のデータが記述されている。

variable_name
value
www.example.com/hoge/
1024
415452544
29847586
1068952320
29846580
*


各行の意味は以下の通り。

variable_name変数名
value
www.example.com/hoge/Cookie を発行したサイトのアドレス
1024フラグ
415452544有効期限の下位32bit値の符号付き整数表現
29847586有効期限の上位32bit値の符号付き整数表現
1068952320作成日時の下位32bit値の符号付き整数表現
29846580作成日時の上位32bit値の符号付き整数表現
*デリミタ


有効期限および作成日時は Win32 FILETIME 形式の値になっている。
Win32 FILETIME 形式とは、1601/1/1(UTC) からの経過時間を 100 ナノ秒で表した 64bit の値である。
日付の値は、32bit 単位で上位と下位に分割されているため、元の値を得るためには結合する必要がある。また、それぞれの値は符号付き整数値として記述されているので、負の値になる事もある。


上記例の有効期限の値を 2 進数で表現すると

29847586415452544
0000000111000111011100000010001000011000110000110100110110000000
となり、この 64bit の値は 10 進数では、

128194406150000000 = 0000000111000111011100000010001000011000110000110100110110000000

となる。


この値を UNIX 時間へ変換するためには、次の式を使用する。

UNIX 時間 = (Win32 FILETIME 時間) * (10^-7) - 11644473600

11644473600 という数値は、1601/1/1(UTC) から UNIX 時間の起点である 1970/1/1(UTC) までの差分秒数である。


上記例の有効期限をこの式に当てはめ UNIX 時間に変換すると

1174967015 = (128194406150000000) * (10^-7) - 11644473600

となる。
さらに日付表示に変換すれば、2007/3/27 03:43:35(UTC) となる。


ちなみに日時の上位 32bit 値を 1 増やすと 429.4967296 秒、約 7 分進む事になる。


参考資料
Forensic Analysis of Microsoft Internet Explorer Cookie Files (pdfファイル)