Jak odzyskać informacje o formularzu strony internetowej w Firefoksie

23

Wypełniłem długi formularz na stronie internetowej, który odrzucał moje zgłoszenie z powodu błędu serwera. Nie mogę odzyskać danych wejściowych formularza.

Czy w Firefoksie można w jakiś sposób zajrzeć do pamięci podręcznej, historii itp., Aby odzyskać te informacje?

Jason S
źródło

Odpowiedzi:

5

Polecam zainstalować Łazarz - wystarczająco wiele razy uratował mi tyłek.

Sathyajith Bhat
źródło
3
Łazarz jest obiecujący. Ale niestety, Łazarz nie żyje (!). Łazarz nie działa. Formularz kontaktowy na stronie jest uszkodzony. A deweloper nie odpowiada.
Nicolas Barbulesco
Również lazarus w jakiś sposób koliduje z firebugiem.
Tomáš Zato
To prawda, że ​​jest „martwy”, a programista wydaje się być MIA, ale nadal działa dla mnie.
Animadversor
@Animadversor To nie działa już w Firefoksie v53 z powodu niezgodności (o czym informuje Firefox podczas uruchamiania).
David Balažic
1
Narzędzia „wygaszacze formularzy”, takie jak Lazarus, muszą być zainstalowane przed utratą danych, a nie po. OP pyta o odzyskanie utraconych danych.
user598527
6

Whew! Znalazłem rozwiązanie - udało mi się nacisnąć przycisk „wstecz” i „naprzód” za pomocą „ Nagłówki HTTP na żywo „rozszerzenie przechwytujące ruch przychodzący / wychodzący, a informacje o formularzu były częścią odpowiedzi POST.

Jason S
źródło
2
Myślę, że jest przechowywany w pamięci RAM, ponieważ możesz nacisnąć przycisk „Wstecz”, aby powrócić do formularza z wypełnionymi danymi, ale nigdy nie słyszałem, aby Firefox przywracał te wartości po zamknięciu i ponownym uruchomieniu przeglądarki.
David Z
Możesz chcieć mieć Lazarusa [ addons.mozilla.org/en-US/firefox/addon/6984 ] zainstalowany, jeśli coś takiego się powtórzy.
Sathyajith Bhat
@Sathya: rozważ publikowanie jako osobną odpowiedź, zagłosowałbym na nią.
Jason S
1
Być może nie było to prawdą trzy lata temu, ale wbudowane w Firefoksa narzędzia do tworzenia stron internetowych mają obecnie funkcje, które pozwalają wyodrębnić informacje w podobny sposób. Właśnie odpowiedziałem tutaj .
sh1
1
Mam inny pomysł. Ponowne ładowanie strony, sprawdzanie nagłówków ... Zamierzam opublikować ją jako odpowiedź.
Nicolas Barbulesco
4

Moja metoda została przetestowana w nagłym przypadku (utracony komentarz na Facebooku). Wymaga narzędzia innej firmy - ProcessHacker . Jest tylko dla systemu Windows - dla metody Linux sprawdź to pytanie . Powinien działać z każdą przeglądarką, nie tylko Firefox .

Istnieją dwa sposoby. Pierwszy jest bardziej przyjazny dla użytkownika , ale jeśli komputer ulegnie awarii, stracisz dane. Drugi jest bardziej bezpieczny , ale potrzebuje dodatkowego narzędzia. Po chwili dostaniesz plik, który możesz przekazać ekspertowi, jeśli ten samouczek będzie zbyt trudny. Możesz zrobić Way II, kroki 1 i 2, aby być bezpiecznym, a następnie Way I, aby ułatwić. Użyłem Way I.

To jest dokładna lista kroków, które zrobiłem:

Sposób I

  1. Pierwszą rzeczą do zrobienia jest pauza proces. Ma to kluczowe znaczenie dla sukcesu . Otworzyłem ProcessHacker (PH), znalazłem firefox.exe na liście (możesz kliknąć kolumnę „Nazwa”, aby pozbyć się widoku drzewa i uzyskać widok listy) iz menu kontekstowego użyłem „Zawieś”. Wtedy wyglądałoby na to, że Firefox jest zamrożony, więc jeśli system Windows poprosi Cię o przerwanie nie odpowiadającego procesu, nie rób tego! Żyje, tylko śpi.

  2. Kliknij dwukrotnie wiersz firefox.exe lub wybierz „Właściwości” z menu kontekstowego firefox.exe.

  3. Przejdź do karty „Pamięć” i kliknij przycisk „Ciągi ...” w prawym górnym rogu.

  4. Użyłem ustawień domyślnych (zaznaczone pole wyboru [& amp; check;], [] jest odznaczone) - Min. len .: 10; [& amp; sprawdź;] Wykryj Unicode; Szukaj w [✓] Prywatne / [] Obraz / [] Mapowane. Kliknij przycisk „OK”.

  5. Po chwili (do minuty, ale prawdopodobnie kilka sekund) można znaleźć wszystkie ciągi znaków. Dzięki takim ustawieniom mam teraz ponad 700 tysięcy ciągów. Sprawdź każde wyszukiwanie w poszukiwaniu zagubionego tekstu . Żartuję! Przejdź do następnego punktu :)

  6. Kliknij lewy dolny „Filtr” i wybierz element menu, który najbardziej Ci odpowiada. Użyłem „Zawiera (bez rozróżniania wielkości liter)”.

  7. Wpisz jakieś słowo, które było w utraconym tekście. Słowo ponieważ niektóre łańcuchy można zapisać, np. jako „ foo bar ". Im dłuższe i bardziej unikalne słowo, tym mniej wyników otrzymasz (więc będzie łatwiej). Jeśli nie uzyskasz wyników, spróbuj innego słowa. Miałem mój komentarz w dwóch częściach pamięci - w jednym to był pełny, w drugiej tylko druga połowa.

  8. Przejrzyj wyniki. Większość ciągów będzie widoczna z pustym znakiem po każdym znaku, np. foobar będzie f.o.o.b.a.r (klątwa 66 00 6F 00 6F 00 62 00 61 00 72 ). Nie martw się o to; to jest sprawa Unicode. Jeśli znajdziesz swój tekst, kliknij przycisk „Zapisz ...”. Mój komentarz wyglądał jak część kodu HTML, tj. Miał <div> i <span> tagi wokół.

  9. Otwórz zapisany plik w edytorze obsługującym Unicode. Nie wiem o wbudowanym Notatniku, ale powinien działać. Użyłem Notepad ++.

  10. Znajdź tekst, skopiuj potrzebną część. Powiedz „hooray”. Możesz teraz kliknąć prawym przyciskiem myszy wiersz firefox.exe w oknie głównym i wybrać „Wznów”.

Droga II

  1. Powtórz krok 1 ze strony I.
  2. Znajdź wiersz firefox.exe, kliknij go prawym przyciskiem myszy i wybierz „Utwórz plik zrzutu ...” z menu kontekstowego.
  3. Użyj jakiegoś edytora, który obsługuje ładowanie dużych plików. Notepad ++ powinien sobie z tym poradzić, ale musisz wyłączyć kolorowanie składni i sprawdzanie pisowni. Przykłady: HxD (freeware, IMO lepiej), wxHexEditor (OPLĄT).
  4. Przejdź do kroku 10 ze strony I.
Krzysiu
źródło
Inteligentne podejście! Nie zadziałało mi dzisiaj (nigdy nie dokonuj długich edycji w narzędziu Gitlab on-line ...), ale będę zachowywał technikę (i ładne narzędzie ProcessHacker) pod poduszką.
Tibo
Możesz utworzyć plik zrzutu z Menedżera zadań, zobacz ta odpowiedź . Tak więc nie ma potrzeby korzystania z zewnętrznego narzędzia, takiego jak ProcessHacker.
David Balažic
Dzięki, David. Nadal uważam, że należy zawiesić proces JAK NAJSZYBCIEJ, a odpowiedź na to pytanie nic nie mówi. W przypadku pomyłki bardzo pomogłoby zawieszenie. Istnieje również funkcja wyszukiwania ciągów w PH. Ponieważ znaki są często wypełniane 00h (null), wciąż potrzebujesz jakiegoś edytora, aby znaleźć tekst (Notatnik nie załatwi sprawy), więc nie do końca „bez trzeciej strony”. W międzyczasie zgubiłem komentarz na YouTube i Disqus (tj. Ciężkie skrypty JavaScript i dynamiczne strony) - zadziałało ponownie, ale nie jest to w 100% pewna metoda, jak pokazuje Tibo.
Krzysiu
jeśli uruchomionych jest kilka procesów chrome, czy istnieje sposób, aby dowiedzieć się, z którym z nich powinniśmy pracować?
JinSnow
@JinSnow unix.stackexchange.com/a/209699/167757 - może to pomoże. Również sprawdzenie czasu rozpoczęcia procesu może w niektórych przypadkach pomóc.
Krzysiu
2

Innym możliwym rozwiązaniem do odzyskania danych jest utworzenie zrzutu pamięci Firefoksa (zakładając, że używasz go pod Linuksem lub podobnym). Więcej informacji znajdziesz w tej odpowiedzi: https://superuser.com/a/236400/180675

erik
źródło
2

Znalazłem nowy dodatek, który może zostać użyty do odzyskania utraconych danych: Kontrola historii formularzy

Autor twierdzi:

Ta wtyczka przechowuje również tekst z pól edytora podczas pisania, więc Ty   nigdy nie musisz tracić swojej pracy, gdy uderza katastrofa. Odzyskaj utracone   praca po limitach czasu sesji, awariach sieci, awariach przeglądarki, zasilaniu   niepowodzenia i wszystkie inne rzeczy, które zniszczą ciężką pracę, którą właśnie wykonujesz   umieść na piśmie ten ważny e-mail, esej lub blog.

EDIT: Och, to rzeczywiście zapisało ten post. :)

Calmarius
źródło
To rozszerzenie jest (bardzo) miłym pomysłem. Ale to jest zbyt skomplikowane. To rozszerzenie dumnie mówi, że „automatycznie zapisał tekst wprowadzony w dowolnej formie”. Czy zapisuje dane, które mogą być wprowadzane przez użytkowników? Na przykład komentarze Disqus i edycje WYSIWYG w Wikipedii.
Nicolas Barbulesco
@NicolasBarbulesco Nie wiem, spróbuj, a potem powiedz programistom, czy to nie działa. Przypuszczam, że działa tylko dla pól wejściowych i pól tekstowych i tworzy postdata. Głównym powodem, dla którego go pobrałem, ponieważ wiele głupich forów po prostu wylogowuje cię, jeśli piszesz post zbyt długo, jedząc całe swoje pismo ...
Calmarius
2

Nowoczesne wersje Firefoksa mają Narzędzia programistyczne na pokładzie, które mogą być w tym celu wykorzystane. naciśnij Ctrl + Przesunięcie + P aby wyświetlić narzędzie Sieć, naciśnij F5 aby ponownie załadować stronę (potwierdź ostrzeżenie, że treść zostanie ponownie przesłana, chcemy, aby dokładnie tak się stało) i wybierz (prawdopodobnie) najwyższą linię w narzędziu Sieć. To powinno się pokazać POST jako metoda.

Po prawej stronie pojawia się zestaw zakładek. Ten, który nas interesuje, „Nagłówki”, powinien być już otwarty. Kliknij Edit and Resend aby uzyskać pełną zawartość żądania. Pole Treść żądania zawiera pełne dane żądania w postaci zakodowanej w adresie URL. Uruchom go za pomocą dekodera ten odzyskać dane.

Roland W
źródło
1
Dokładnie to. Uwaga: niektóre strony internetowe kodują zawartość inaczej, w moim przypadku zastępuje ona spacje znakami + i nowymi za pomocą r.
user31389
1

Obawiam się, że zawartość formularza nie jest buforowana ... Zwykłe pola wprowadzania (pojedyncza linia) mogą być zapisywane za pomocą automatyczne wypełnianie , ale obszar tekstu (wiele linii, ten, który prawdopodobnie wpisałeś) nie jest.

BloodPhilia
źródło
1

Przeglądarka internetowa zdecydowanie ma dane formularza w pamięci. Trudność jest: Jak odzyskać te dane?

Oto mój pomysł. Nie próbowałem tego. Na papierze , to działa. Ta odpowiedź dotyczy przeglądarki Firefox i innych przeglądarek internetowych.

W skrócie : Przeładuj stronę, sprawdzając nagłówki.

  1. Ustaw maszynę. Potrzebujemy maszyny do zbadania ruchu HTTP wysyłanego z przeglądarki internetowej.
    • Najlepszym wyborem jest rozszerzenie LiveHTTPHeaders dla Firefoksa. Ale myślę, że zainstalowanie tego rozszerzenia wymaga ponownego uruchomienia Firefoksa. Oczywiście nie uruchamiaj ponownie Firefoksa! Byłoby miło zainstalować tę maszynę bez ponownego uruchamiania Firefoksa. W przeciwnym razie wystarczy wcześniej zainstalować to rozszerzenie. W razie potrzeby po prostu użyj wehikułu czasu . ;-)
    • Jeśli nie możesz przygotować maszyny w przeglądarce internetowej, istnieje inna opcja. Ta opcja jest cięższa. Ale jego ogromną siłą jest to, że działa dla wszystkich przeglądarek internetowych i bez ponownego uruchamiania. Zainstaluj prosty serwer WWW lub skonfiguruj serwer proxy (np. Squid) na swoim komputerze. Upewnij się, że serwer rejestruje ruch przychodzący z pełnymi nagłówkami. I umieść regułę w systemie operacyjnym na przekierowanie wszystkich wychodzących żądań do 127.0.0.1. Można to zrobić za pomocą hosts plik.
  2. Przetestuj maszynę. Utwórz nowe okno w przeglądarce internetowej. Napisz tutaj tekst w Wikipedii i kliknij Zapowiedź . Następnie sprawdź, czy w maszynie widzisz napisany tekst. Jeśli twoja maszyna jest opcją serwera, musisz wyłączyć regułę przekierowania, aby załadować formularz Wikipedii i włączyć go później.
  3. Aby ponownie załadować stronę, kliknij prawym przyciskiem myszy miejsce, w którym był formularz, i wybierz Przeładować . To jest ważne. W niektórych wiadomościach internetowych spowoduje to ponowne załadowanie tylko ramki, w której znajdował się formularz. Tutaj chcemy przeładować tylko tak mało, jak to możliwe. Jeśli klikniesz przycisk Przeładować w pasku adresu lub na pasku przycisków, lub jeśli naciśniesz Apple R, ryzykujesz przeładowanie całej strony, aw niektórych wiadomościach internetowych strzelasz sobie w stopę.
  4. Zazwyczaj przeglądarka internetowa zapyta Cię: Czy chcesz ponownie wysłać dane formularza? Jeśli otrzymasz to pytanie, to dobry znak. Wybierać Wyślij ponownie .
  5. Sprawdź przesłane dane POST , z maszyną ustawioną w kroku 1. Tutaj znajdziesz swoje dane.
  6. Przyjdź i powiedz nam, że to rozwiązanie zadziałało!
Nicolas Barbulesco
źródło
Wymaga to aktualizacji, teraz użyj narzędzi programistycznych zamiast instalować rozszerzenia.
user31389
1

*** Korekta: chociaż poniżej działa w Firefoksie i Chrome, migawka w Firefoksie tworzy plik binarny (gzip). Na razie to podejście działa tylko w Chrome:  (

Dla obie Firefox i Chrome, myślę, że znacznie łatwiejszym sposobem w porównaniu do rzeczywistego zrzutu rdzeniowego procesu systemowego jest użycie narzędzi programistycznych.

Idź do Karta Pamięć (kiedyś nazywano go „Profile” w Chrome), a następnie wybierz Migawka i zapisz go w pliku (to tylko tekst). Następnie przeszukaj plik w poszukiwaniu jakiegoś słowa, które wiesz, że napisałeś w formularzu - to prawdopodobnie najszybszy sposób na znalezienie całej zawartości.

Screenshot of Firefox Developer Tools – Memory tab

Właśnie przetestowałem go w Chrome na stronie, na której dynamiczna forma (JavaScript) sama się pomieszała i zgubiła cały napisany przeze mnie tekst. Wciąż był w pamięci i mogłem go odzyskać, nawet jeśli jeszcze go nie przesłałem!

Widzieć https://developer.mozilla.org/en-US/docs/Tools/Memory i https://developers.google.com/web/tools/chrome-devtools/memory-problems/heap-snapshots po więcej szczegółów.

Kamal
źródło
w Firefoksie plik jest po prostu skompresowany gzip, więc proste zcat xxx.fxsnapshot pozwala uzyskać zawartość.
vaab
1
Dzięki @vaab rzeczywiście jest to gzip'd, ale po dekompresji jest to nadal plik binarny. gunzip -c (odpowiednik zcat na Mac) zwrócił głównie znaki zapytania ... Uruchomiłem strings na nim i mógłbym uzyskać pewne informacje, ale nie wiem, czy w ten sposób można odzyskać pełną treść formularza.
Kamal