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


26

サーバーエラーのために送信を拒否した長いページをウェブページに記入しました。フォーム入力を回復できないようです。

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

回答:


5

Lazarusをインストールすることをお勧めします-それは私の尻を十分な回数保存しました。


3
ラザロは有望です。しかし、悲しいかな、ラザロは死んでいます(!)。ラザロは機能しません。サイトの連絡先フォームが壊れています。そして、開発者は応答しません。
ニコラスバルブレスコ14

また、lazarusはどういうわけかfirebugと競合します。
トマーシュザト-復帰モニカ

確かに、それは「死んだ」だと開発者がMIAのようですが、それはまだ私のために動作します。
Animadversor

@Animadversor非互換性のため、Firefox v53では動作しません(Firefoxの起動時に報告されます)。
デビッドバラジッチ

2
Lazarusのような「フォームセーバー」ツールは、データを失う前ではなく、失う前にインストールする必要があります。OPは、失われたデータの回復について尋ねています。
user598527

6

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


2
「戻る」を押すとデータが入力されたフォームに戻ることができるので、RAMに保存されていると思いますが、ブラウザを閉じて再起動した後にFirefoxがこれらのフォーム値を復元することは聞いたことがありません。
デビッドZ

このようなことが再び発生する場合は、Lazarus [ addons.mozilla.org/en-US/firefox/addon/6984 ]のインストールが必要になる場合があります。
サティアジスバート

@Sathya:別の回答として投稿することを検討してください。投票します。
ジェイソンS

1
これは3年前には当てはまらなかったかもしれませんが、Firefoxに組み込まれているWeb開発者ツールには現在、同様の方法で情報を抽出できる機能があります。ここで答えました
sh1

1
別のアイデアがあります。ヘッダーを調べてページをリロードします...回答として投稿します。
ニコラスバルブレスコ14

5

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

2つの方法があります。1つ目はユーザーフレンドリーですが、PCがクラッシュするとデータが失われます。2番目はよりフェイルセーフですが、追加のツールが必要です。チュートリアルが難しすぎる場合は、2番目に、専門家に渡すことができるファイルを取得します。方法II、手順1と2を実行して安全を確保し、次に方法Iを使用して簡単にすることができます。Way Iを使用しました。

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

ウェイI

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

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

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

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

  5. しばらくすると(最大で数分ですが、おそらく数秒)、すべての文字列が見つかります。そのような設定で、私は今70万以上のストリングを持っています。失われたテキストを検索するすべての人をチェックします。冗談だ!次のポイントに進みます:)

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

  7. 失くしたテキストにあった単語を入力してください。Wordの一部の文字列は、たとえば「foo bar」として保存できるため。長くてユニークな単語ほど、得られる結果が少なくなります(したがって、簡単になります)。結果が得られない場合は、別の言葉を試してください。記憶の2つの部分にコメントがありました。1つは満杯で、もう1つは後半でした。

  8. 結果を見てください。ほとんどの文字列は、例えば、すべての文字の後にNULL文字で表示されますfoobarされますf.o.o.b.a.r(16進数66 00 6F 00 6F 00 62 00 61 00 72)。心配しないでください。それはUnicodeのことです。テキストが見つかったら、[保存...]ボタンをクリックします。私のコメントはすなわち、それが持っていた、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に進みます。

スマートなアプローチ!今日はうまくいきませんでした(Gitlabのオンラインツールで長い編集を行わないでください...)が、このテクニック(および素敵なProcessHackerツール)は枕の下に置いておきます。

タスクマネージャーからダンプファイルを作成できます。この回答を参照してください。そのため、ProcessHackerのようなサードパーティツールは必要ありません。
デビッドバラジッチ

ありがとう、デビッド。私はまだプロセスをできるだけ早く中断し、リンクされた答えはそれについて何も言わないべきだと思います。間違えた場合、サスペンドは非常に役立ちます。PHには文字列検索機能もあります。多くの場合、文字には00h(null)が埋め込まれますが、テキストを検索するにはエディターが必要です(メモ帳ではこのトリックは行われません)。その間、私はYouTubeとDisqusのコメント(重いJavaScriptのページと動的なページ)を失いました-それは再び機能しましたが、Tiboが示すように、100%確実な方法ではありません。
クシシウ

複数のchromeプロセスが実行されている場合、どのプロセスで作業する必要があるかを知る方法はありますか?
-JinSnow

1
なんて素晴らしい答えでしょう。ProcessHackerを紹介してくれてありがとう。デフォルトのフィルター設定で探しているものを見つけることができませんでしたが、すべてのチェックボックスにマークを付けることで成功しました。もちろん、検索結果は大幅に増加しましたが、複数のフィルターを連続して適用すると絞り込まれました。ああ、いくつかの失われた電子メールを書き換えることから私を救った。(+1)
リニアクリスマス

3

Firefoxの最新バージョンには、これに使用できる開発者ツールが搭載されています。プレスCtrl+ Shift+ Qキーを押して、ネットワークツールを起動するためにF5ページをリロードすると、ネットワークツールで(たぶん)一番上の行を選択し(確認内容が再送信されることを警告、我々はまさにこれを実現したいです)。POSTメソッドとして表示する必要があります。

右側に一連のタブが表示されます。私たちが興味を持っているもの、「Headers」は、すでに開いているはずです。クリックEdit and Resendして完全なリクエストの内容を取得します。[リクエスト本文]フィールドには、URLエンコード形式の完全なリクエストデータが含まれます。データを取り戻すには、このようなデコーダーで実行します。


1
まさにこれ。注:一部のWebサイトではコンテンツのエンコード方法が異なります。私の場合は、スペースを+に、改行を\ r \ nに置き換えました。
user31389


2

失われたポストデータを回復するために使用できる新しいアドオンを見つけました:フォーム履歴コントロール

著者によると:

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

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


この拡張機能は(非常に)良いアイデアです。しかし、それは複雑すぎます。この拡張機能は、「任意の形式で入力された自動保存テキスト」と誇らしげに言っています。「コンテンツ編集可能な」ユーザー入力データを保存しますか?たとえば、コメントやウィキペディアのWYSIWYG編集を表示します。
ニコラスバルブレスコ14

@NicolasBarbulesco知らないので試してみて、うまくいかない場合は開発者に伝えてください。入力フィールドとテキストエリアフィールドでのみ機能し、ポストデータを形成すると思います。あなたがあなたの全体の書き込みを食べて、あまりにも長い間記事を書いている場合は、多くの愚かなフォーラムは、単にあなたをログアウトので、私はそれをダウンロードした主な理由は...
Calmarius

1

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


1

Webブラウザーのメモリに確実にフォームデータがあります。難しさは次のとおりです。このデータを取得する方法

これが私のアイデアです。試したことがありません。紙の上で、それは動作します。この回答は、Firefoxおよび他のWebブラウザーに適用されます。

要するに:ヘッダーを調べながらページをリロードします。

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

これは更新が必要です。拡張機能をインストールする代わりに開発者ツールを使用してください。
user31389

1

***修正:以下はFirefoxとChromeで動作しますが、Firefoxのスナップショットは(gzipされた)バイナリファイルを生成します。したがって、現時点ではこのアプローチはChromeでのみ機能します:(

以下のために両方のFirefoxとChrome、私は、システム・プロセスの実際のコアダンプに比べてはるかに簡単な方法は、開発者ツールを使用することだと思います。

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

Firefox開発者ツールのスクリーンショット-[メモリ]タブ

動的フォーム(JavaScript)自体が台無しになり、書いたテキストがすべて失われたページでChromeでテストしました。まだメモリ内にあり、まだ送信していなくても回復できました!

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


Firefoxでは、ファイルはで圧縮されているだけgzipなので、簡単zcat xxx.fxsnapshotにコンテンツを取得できます。
vaab

1
@vaabに感謝します。実際にはgzipで圧縮されていますが、解凍後もバイナリファイルのままです。gunzip -c(Macのzcatと同等)は主に疑問符を返しました...私はstringsそれに疑問符を付けて走り、情報を得ることができましたが、完全な形式のコンテンツをそのように回復できるかどうかはわかりません。
カマル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.