web-dev-qa-db-ja.com

FirefoxでWebページのフォーム情報を復元する方法

サーバーエラーが原因で送信が拒否されたウェブページに長いフォームを記入しました。フォーム入力を復元できないようです。

Firefoxでキャッシュ、履歴などを調べてこの情報を回復する方法はありますか?

26
Jason S

インストールすることをお勧めします Lazarus -お尻を十分な回数節約しました。

5
Sathyajith Bhat

ふew!私は解決策を見つけました-着信/発信トラフィックをキャプチャする「 Live HTTP Headers 」拡張機能を使用して「戻る」および「進む」ボタンを押すことができ、フォーム情報はPOST response。(Firefoxはフォーム入力を再送信しますが、どこに保存されているかはわかりませんが、ユーザーに表示するための組み込みの方法はありません)

6
Jason S

私の方法は緊急事態でテストされました(Facebookのコメントが失われました)。サードパーティのツールが必要です– ProcessHacker 。これはWindows専用です。Linuxメソッドの場合は、 その質問 を確認してください。 Firefoxだけでなく、すべてのブラウザで動作するはずです。

2つの方法があります。 最初の方がユーザーフレンドリーですが、PCがクラッシュするとデータが失われます。 2番目はフェイルセーフですが、追加のツールが必要です。 2つ目は、チュートリアルが難しすぎる場合に、エキスパートに提供できるファイルを取得することです。方法II、ステップ1と2を安全に実行してから、方法Iを実行して安全にすることができます。私は方法Iを使用しました。

それが私が取った正確なステップのリストです:

方法I

  1. 最初にすることは、プロセスをpauseすることです。 これは成功のために重要です。 ProcessHacker(PH)を開き、リストにfirefox.exeを見つけ([名前]列をクリックしてツリービューを削除してリストビューを取得できます)、コンテキストメニューから[サスペンド]を使用しました。そうすると、Firefoxがフリーズしたように見えるので、Windowsが応答しないプロセスの終了について尋ねてきた場合は、実行しないでください。それは生きている、ただ眠っている。

  2. Firefox.exeの行をダブルクリックするか、firefox.exeのコンテキストメニューから[プロパティ]を選択します。

  3. [メモリ]タブに移動し、右上隅にある[文字列...]ボタンをクリックします。

  4. 私はデフォルト設定を使用しました([✓]チェックボックスがオン、[]チェックボックスがオフ)–最小。 len .: 10; [✓] Unicodeを検出します。 [✓]非公開/ []画像/ []マップ済みで検索「OK」ボタンをクリックします。

  5. しばらくすると(最大で数分ですが、おそらく数秒)、すべての文字列が見つかります。このような設定で、700kを超える文字列を取得しました。 失われたテキストを検索するすべての人をチェックします。冗談だ!次のポイントに移動します:)

  6. 左下の[フィルター]をクリックし、最適なメニュー項目を選択します。 「含む」(大文字と小文字を区別しない)を使用しました。

  7. 失われたテキストに含まれていた単語を入力します。 Word一部の文字列は、たとえば「foo bar "。Wordが長くてユニークなほど、得られる結果は少なくなります(そのため、簡単になります)。結果が得られない場合は、別のWordを試してください。 1つは満杯で、もう1つは後半です。

  8. 結果を確認します。ほとんどの文字列は、すべての文字の後にnull文字で表示されます。たとえば、foobarf.o.o.b.a.r(16進数66 00 6F 00 6F 00 62 00 61 00 72)。心配しないでください。それはユニコードのものです。テキストが見つかったら、[保存...]ボタンをクリックします。私のコメントはHTMLの一部のように見えました。つまり、<div>および<span>タグで囲みます。

  9. 保存されたファイルを、Unicodeをサポートするエディターで開きます。組み込みのメモ帳については知りませんが、動作するはずです。 Notepad ++を使用しました。

  10. テキストを見つけ、必要な部分をコピーします。 「フーレイ」と言ってください。ここで、メインウィンドウからfirefox.exeの行を右クリックして、[再開]を選択します。

方法II

  1. 方法Iのステップ1を繰り返します。
  2. Firefox.exeの行を見つけて右クリックし、コンテキストメニューから[ダンプファイルの作成...]を選択します。
  3. 大きなファイルの読み込みをサポートするエディタを使用してください。 Notepad ++で処理できますが、構文の色分けとスペルチェックをオフにする必要があります。例: HxD (フリーウェア、IMOの方が良い)、 wxHexEditor (FLOSS)。
  4. 方法Iからステップ10に進みます。
5
Krzysiu

Firefoxの最新バージョンには、これに使用できる開発ツールが搭載されています。押す Ctrl+Shift+Q ネットワークツールを起動するには、 F5 ページを再読み込みし(コンテンツが再送信されるという警告を確認します。これが発生するようにしたい)、ネットワークツールの(おそらく)一番上の行を選択します。メソッドとしてPOSTが表示されます。

右側に一連のタブが表示されます。関心のある「ヘッダー」はすでに開いているはずです。 Edit and Resendをクリックして、リクエストの内容全体を取得します。 [Request Body]フィールドには、完全なリクエストデータがURLエンコード形式で含まれています。 this one のようなデコーダーで実行して、データを取得します。

3
Roland W

失われたポストデータを回復するために使用できる新しいアドオンを見つけました: Form History Control

著者は主張している:

このプラグインは、入力時にエディターフィールドからのテキストも保存するため、災害が発生したときに作業を失う必要はありません。セッションのタイムアウト、ネットワーク障害、ブラウザーのクラッシュ、電源障害、および重要なメール、エッセイ、ブログの投稿を書くために費やしたハードワークを破壊する他のすべてのものの後に、失われた作業を回復します。

編集:ああ、それは確かにこの投稿を保存しました。 :)

3
Calmarius

データを回復するためのもう1つの解決策は、Firefoxのコアダンプを作成することです(Linuxなどで使用していると想定)。詳細については、この回答を参照してください: https://superuser.com/a/236400/180675

2
erik

フォームのコンテンツがキャッシュされていないと思います...通常の入力フィールド(1行)は auto fill で保存できますが、テキスト領域(複数行、おそらく入力した行)は保存されていませんない.

1
BloodPhilia

Webブラウザは間違いなくメモリにフォームデータを持っています。問題は次のとおりです:このデータを取得する方法は?

これが私の考えです。私は試していません。 紙の上で動作します。この回答は、Firefoxおよび他のWebブラウザーに適用されます。

つまり、ヘッダーを調べながら、ページをリロードします。

  1. 機構をセットアップします。Webブラウザから送信されたHTTPトラフィックを検査する機構が必要です。
    • 最適な選択肢は、Firefoxの 拡張子LiveHTTPHeaders です。ただし、この拡張機能をインストールするにはFirefoxを再起動する必要があると思います。もちろん、Firefoxを再起動しないでください。 Firefoxを再起動せずにこの機械をインストールできるといいですね。それ以外の場合は、この拡張機能を事前にインストールしておく必要があります。必要に応じて、 タイムマシンを使用する を使用してください。 ;-)
    • Webブラウザーで機構を準備できない場合は、別のオプションがあります。このオプションは重いです。しかし、その強力な強みは、すべてのWebブラウザーで機能し、再起動しなくても機能することです。単純なWebサーバーをインストールするか、プロキシサーバー(Squidなど)をマシンにセットアップします。サーバーが完全なヘッダーを使用して受信トラフィックをログに記録していることを確認してください。また、すべての送信リクエストを127.0.0.1にリダイレクトするルールをOSに配置します。これは、hostsファイルで実行できます。
  2. 機械をテストします。Webブラウザで新しいウィンドウを作成します。 ここにウィキペディアにテキストを書き込み、プレビューをクリックします。 次に、機械にテキストが書かれていることを確認します。機械がサーバーオプションの場合、リダイレクトルールをオフに切り替えてWikipediaフォームをロードし、後でオンに切り替える必要があります。
  3. ページを再読み込みするには、フォームがあった場所を右クリックし、Reloadを選択します。これは重要です。一部のウェブメールでは、フォームがあったフレームのみが再読み込みされます。ここでは、できる限りリロードしないようにします。アドレスバーまたはボタンバーのボタンReloadをクリックした場合、またはApple Rを押した場合、ページ全体がリロードされる危険性があり、一部のWebメールではこれがあなた自身を攻撃しています足に。
  4. 通常、Webブラウザから次のように尋ねられます:フォームデータをもう一度送信しますか?この質問が表示された場合、これは良い兆候です。 選択もう一度送信
  5. POST送信されたデータ]を確認し、手順1で設定された機械を使用します。ここで、必要なデータを見つけます。
  6. このソリューションが機能したことをここに教えてください!
1

***修正:以下はFirefoxとChromeで機能しますが、Firefoxのスナップショットは(gzip'd)バイナリファイルを生成します。したがって、今のところ、このアプローチはChrome:(

FirefoxとChromeのbothの場合、システムプロセスの実際のコアダンプに比べてはるかに簡単な方法は、開発者ツールを使用することです。

メモリタブ(Chromeでは「プロファイル」という名前でした)に移動し、スナップショットして、ファイルに保存します(テキストのみです)。次に、フォームで書き込んだことがわかっているWordをファイルで検索します。これは、おそらくコンテンツ全体を見つける最も速い方法です。

Screenshot of Firefox Developer Tools – Memory tab

Chromeのページでテストしました。動的フォーム(JavaScript)がそれ自体で失敗し、記述したテキストがすべて失われました。それはまだメモリ内にあり、次の場合でも回復できます。まだ提出していません!

https://developer.mozilla.org/en-US/docs/Tools/Memory および https://developers.google.com/web/tools/chrome-devtools/を参照してください。詳細については、memory-problems/heap-snapshots をご覧ください。

1
Kamal