Firefoxが記憶している入力フォームの履歴や閲覧履歴などを調べたり、一部削除したりする方法 [コンピュータ全般]
Firefoxの管理しているデータベースに関する記事がありした。
http://www.howtogeek.com/69051/stupid-geek-tricks-hacking-the-firefox-profile-data-storage/
※stupidって・・ヾ(--;)ぉぃぉぃ
上記URLの記事ではタイトルからして初歩的ととらえているようですが、私は知らなかったので記述しておきます。
Firefoxを使っていると、どこかのサイトでメールアドレスを入力したりIDを入力したりすると、次回からそれを覚えています。
どのような形式で覚えているかとういうと、Sqliteというデーターベースの形式で覚えてます。
そして、そのファイルがどこにあるかというとWindows Vistaや7の場合は下記のフォルダにあります。
C:\ユーザー\<ユーザー名>\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.default
<ユーザー名>の所は自分のログインアカウント名になります。xxxxxxxxはランダムな文字列ですが、拡張子が必ず.defaultで1つしかフォルダがないはずです。
Ubuntu(Linux) の場合は、下記のディレクトリにあります。
~/.mozilla/Firefox/Profiles/xxxxxxxx.default
これらのフォルダの中には拡張子が.sqlite というファイルがいくつかあります。これが履歴を覚えているファイルです。
この.spliteの中身を見たり操作したりする為のツールがSQLite Database Browserです。これをまずインストールします。
<< インストール&起動方法 >>
A) Windowsの場合
下記にアクセスして、緑地に白抜きでDownloadと書いてある所を押せばダウンロードできます。
http://sourceforge.net/projects/sqlitebrowser/
あとは展開すると、 SQLite Database Browser 2.0 b1.exe (12011/8/4時点のバージョン)があるはずですので、ダブルクリックで起動できます。
B) Ubuntu の場合
下記のコマンドでインストールできます。
sudo apt-get install sqlitebrowser
起動はメニューに SQLite Database Browserが出来るはずですので、それで起動できます。
<< やり方 >>
1) データベースファイルの読み込み
まずはFirefoxを終了しておいてください。(Firefoxを使用しているとファイルにロックがかかるためです)
SQLite Database Browserを起動して[file]-[Open Database]で見たい(編集したい)データベースを開きます。
例えば、参考にした記事と同じ様にformhistory.sqliteを開きます。これにはフォームで入力した履歴が記録されています。
開いた時にはデータベースの構造(Database Structure)のタブが開いています。
2) データーベースの中身をみる
Browse Data を押します。すると下記のように入力フォームとそこに入れた値などが一覧となって出てきます。
3) 検索する
上図のBrowse Dataの下に虫めがねのアイコンがあるので押します。
すると、下図のようなウインドウが開きます。下図では、valueのフィールドにIE9という文字を含む(contains)で検索した所です。下図を見るとRecord 4の所に"IE9"とありますが、上図のモザイクのかかってない部分です。
また一番下にFound 15とあるのでIE9という文字を含むものが15個あることが分ります。
3') 別の検索方法。
詳しくは省略しますが、Execute SQLのタブでSQL言語で直接書いてもかまいません。例えば
select * from moz_formhistory where fieldname like 'emal'
とすれば、フィールド名がemailの物が検索されます。
4) レコードの削除
該当のレコード(横一行)を選んで(色が変わる)、下図の右上にあるDelete Recordを押せば消えます。
消したら[File]-[Save Database]を選んでセーブします。
具体的にどんな時に消す事があるかというと、
・一度間違えてメールアドレスやIDを入力したのをFirefoxが覚えてしまって、次から間違えたのと正しいのが2つでるようになってしまった場合
・以前入れたクレジットカード番号を消したい時
・メールアドレスやIDを変更した時、古いメールアドレスの消したい時
などが考えられます。
もちろんデータベースそのものを削除してしまえば消せるのですが、せっかく覚えている他の物まで消えてしまうので使い勝手が悪くなります。
削除する事以外には、検索をしてIDを思い出すきっかけになったりします。
5) Ubuntuの補足(Windowsの方は読み飛ばしてOKです)
Ubuntuの場合、データベースを読み込むファイル選択画面で下図の赤い部分はキーボードから直接打ち込んだ方が早いです。(隠しディレクトリなのでディレクトリ自体がファイルブラウザ上に現れません)
後は、手繰っていけばOKです。下記は閲覧履歴(place.sqlite)です。
※上記は自分のブログをunityで検索した事が分ります。
6) その他のsqliteファイルについて
上記で説明したsqliteファイル以外にも色々なsqliteファイルがあります。
downloads.sqlite -- ダウンロード履歴
extensions.sqlite -- エクステンションの情報
addons.sqlite -- アドオンの情報
signons.sqlite -- ログインとパスワードを覚えている(但し、中身を見ても暗号化されてます。)
ただ、hostnameは分るのと、上図では見えませんが何回使われたかのフィールドがあるので、間違えたIDとパスワードを覚え込んでしまった場合、削除したいレコードの見当はつきます。
7) 注意事項
上記では簡単な説明だけしかしていませんが、要するに.sqliteのファイルには個人のプライバシーとなる部分がかなり含まれています。(なのでスクリーンショットもモザイクだらけ)
もちろん、他人に自分が使用しているFirefoxを操作されれば分ってしまうのですが、この記事のツールとかで、このデーターベースファイルさえあれば特定のアドレスにアクセスしたかとか、特定のファイルをダウンロードしたかとかは、あっという間に調べられてしまいます。 (Firefoxをいじって、過去の履歴をいちいち調べるのに比べたら調べるスピードは雲泥の差です。)
そういうわけですので、これらのデータベースファイルの管理には気を付けましょう。
←内蔵HDD 2T
数ヶ月前は6000円台後半だった記憶が・・・
新しいモデルがいつの間にか出て
6000円切ってるなんて(2011/8/3現在)
どんどん安くなるから、買うのためらうな~
データベースでデータを持っているとはしりませんでした。なんか上手く更新されてないレコードがあるので、今度やってみようと思います。
by ysa2 (2011-08-04 19:19)
☆ysa2さん☆
私は、データベースの形式だと言う事までは何となく分っていたのですが、どういった形式なのかはさっぱりでした。
更新されていないレコードの原因がわかるといいですね。
by あんきょ (2011-08-05 00:41)