Firefox'ta bir web sayfasının form bilgileri nasıl kurtarılır


26

Bir sunucu hatası nedeniyle gönderimi reddeden bir web sayfasında uzun bir form doldurdum. Form girişini kurtarma gibi görünmüyorum.

Firefox’ta önbellek, tarih vb. Bilgileri incelemenin bir yolu var mı?

Yanıtlar:


5

Lazarus'u kurmanı tavsiye ederim - popomu yeterince kurtardı.


3
Lazarus umut verici. Ancak, ne yazık ki, Lazarus öldü (!). Lazarus çalışmıyor. Sitedeki iletişim formu bozuldu. Ve geliştirici cevap vermiyor.
Nicolas Barbulesco

Ayrıca lazarus bir şekilde firebug ile çakışıyor.
Tomáš Zato - Monica

Verilen bu, “ölü" olduğunu ve geliştirici MIA gibi görünüyor, ama yine de benim için çalışıyor.
Animadversor

@Animadversor Uyumsuzluk nedeniyle Firefox v53'te artık çalışmıyor (başlangıçta Firefox tarafından bildirildiği gibi).
David Balažic

2
Lazarus gibi "Form-koruyucu" araçlar, veri kaybından önce değil sonrasında kurulmalıdır. OP kaybolan verileri kurtarmayı soruyor.
user598527

6

Whew! Bir çözüm buldum - gelen / giden trafiği yakalayan " Canlı HTTP Başlıkları " uzantısıyla "geri" ve "ileri" düğmesine basmayı başardım ve form bilgileri POST yanıtının bir parçasıydı. (Firefox, form girişini yeniden gönderir, nerede saklandığından emin değildir, ancak kullanıcılara göstermek için açık bir yerleşik yolu yoktur)


2
Verilerinizi doldurduktan sonra forma geri dönmek için "Geri" ye basabildiğiniz için RAM'de depolandığını düşünüyorum, ancak tarayıcıyı kapatıp yeniden başlattıktan sonra bu form değerlerini geri yüklemeyi hiç duymadım.
David Z

Eğer böyle bir şey tekrar olursa Lazarus [ addons.mozilla.org/en-US/firefox/addon/6984 ] yüklü olmasını isteyebilirsiniz .
Sathyajith Bhat

@Sathya: Göndermeyi ayrı bir cevap olarak düşünün, ben oylardım.
Jason S

1
Belki de bu üç yıl önce doğru değildi, ancak Firefox'un dahili web geliştirici araçları şu anda bilgileri benzer şekilde çıkarmanıza olanak sağlayan olanaklara sahip. Sadece burada cevap verdim .
sh1

1
Başka bir fikrim var. Sayfayı yeniden yükleyerek, başlıkları incelerken ... Cevap olarak göndereceğim.
Nicolas Barbulesco

5

Benim yöntemim acil bir durumda test edildi (Facebook yorumu kaybedildi). Üçüncü taraf bir araca ihtiyacı var - ProcessHacker . Yalnızca Windows için - bir Linux yöntemi için bu soruyu kontrol edin . Sadece Firefox ile değil, her tarayıcı ile çalışmalıdır .

İki yol var. Birincisi daha kullanıcı dostudur , ancak PC çökerse, veri kaybedersiniz. İkincisi daha güvenli , ancak ek bir araç gerekir. İkinci olarak, eğer bu eğitim çok zorsa, bir uzmana verebileceğiniz bir dosya alırsınız. Yol II'yi, adım 1 ve 2'yi güvende olmak için ve sonra Yol I'yi kolaylaştırmak için yapabilirsiniz. Ben Way I kullandım.

Bu attığım adımların tam listesi:

Yol ben

  1. Yapılacak ilk şey süreci duraklatmaktır . Bu başarı için çok önemlidir . ProcessHacker'ı (PH) açtım, listede firefox.exe'yi buldum (ağaç görünümünden kurtulmak ve liste görünümünü almak için "Ad" sütununa tıklayabilirsiniz) ve "Askıya Al" seçeneğini kullandım. O zaman Firefox donmuş gibi gözüküyor, bu yüzden Windows size yanıt vermeme işlemini sonlandırma hakkında sorular sorarsa, yapmayın! Yaşıyor, sadece uyuyor.

  2. Firefox.exe satırına çift tıklayın veya firefox.exe bağlam menüsünden "Özellikler" seçeneğini seçin.

  3. "Bellek" sekmesine gidin ve sağ üst köşedeki "Dizeler ..." düğmesini tıklayın.

  4. Varsayılan ayarları kullandım ([✓] işaretli onay kutusu, [] işaretli değil) - Min. len .: 10; [✓] Unicode'u Algıla; [✓] Özel / [] Görüntü / [] Eşlenmiş olarak ara. "Tamam" düğmesine tıklayın.

  5. Bir süre sonra (dakikaya kadar, ancak muhtemelen birkaç saniye) tüm dizeleri bulursunuz. Bu tür ayarlarla ben şimdi 700k dizeleri bitti. Kayıp metni arayan her birini kontrol edin . Şaka yapıyorum! Bir sonraki noktaya git :)

  6. Sol alt "Filtre" üzerine tıklayın ve size en uygun menü öğesini seçin. "İçerir (büyük / küçük harfe duyarsız)" kullandım.

  7. Kayıp metninizde bulunan bir kelimeyi girin. Kelime bazı dizeleri "olarak, örneğin kaydedilebilir çünkü foo bar". Ne kadar uzun ve benzersiz kelime, o kadar az sonuç alırsınız (bu yüzden daha kolay olacaktır). Sonuç alamazsanız, başka bir kelime deneyin. Yorumumu hafızanın iki bölümünde - bir tanesinde doluydu, diğerinde sadece ikinci yarısında.

  8. Sonuçlara bakın. Çoğu dizeleri her Char sonra null karakteri ile görünür olacaktır, örneğin foobarolacaktır f.o.o.b.a.r(onaltılık 66 00 6F 00 6F 00 62 00 61 00 72). Endişelenme; Unicode olayı. Metninizi bulursanız "Kaydet ..." düğmesini tıklayın. Yorumum yani o vardı, HTML parçası gibi bakıyordu <div>ve <span>çevresinde etiketleri.

  9. Kaydedilen dosyayı Unicode'u destekleyen bir düzenleyicide açın. Yerleşik Not Defteri hakkında bilmiyorum, ancak çalışması gerekir. Notepad ++ kullandım.

  10. Metni bulun, gerekli kısmı kopyalayın. "Yaşasın" de. Şimdi ana pencereden firefox.exe satırına sağ tıklayıp "Devam Et" seçeneğini seçebilirsiniz.

Yol II

  1. I. yoldan 1. adımı tekrarlayın.
  2. Firefox.exe satırını bulun, sağ tıklayın ve içerik menüsünden "Döküm dosyası oluştur ..." seçeneğini seçin.
  3. Büyük dosyaların yüklenmesini destekleyen bir düzenleyici kullanın. Notepad ++ bunu işlemelidir, ancak sözdizimi renklendirmesini ve yazım denetimini kapatmanız gerekir. Örnekler: yxd (IMO daha iyi ücretsiz), wxHexEditor (FLOSS'un).
  4. I. yoldan 10. adıma gidin.

Akıllı yaklaşım! Bugün benim için işe yaramadı (Gitlab çevrimiçi araçlarında uzun düzenlemeler yapma ...) ama tekniği (ve hoş ProcessHacker aracını) yastığın altında tutacağım.

Görev Yöneticisi'nden bir döküm dosyası oluşturabilirsiniz, bu cevaba bakınız . Yani ProcessHacker gibi 3. parti bir araca gerek yok.
David Balažic

Sağol David. Hala en kısa sürede bir işlemi askıya almanız gerektiğini ve bağladığınız yanıtın bunun hakkında bir şey söylemediğini düşünüyorum. Hata durumunda askıya alınması çok yardımcı olacaktır. Ayrıca PH'da dize arama fonksiyonu var. Karakterler genellikle 00h (null) ile doldurulduğundan, metni bulmak için hala bir editöre ihtiyacınız vardır (Notepad hile yapmaz), bu yüzden tamamen "3. parti olmadan" değil. Bu arada YouTube ve Disqus yorumlarını kaybettim (yani ağır JavaScripted ve dinamik sayfalar) - yine işe yaradı, ancak Tibo'nun gösterdiği gibi% 100 kesin yöntem değil.
Krzysiu

Birkaç krom işlemi çalışıyorsa, hangisiyle çalışmamız gerektiğini bilmenin bir yolu var mı?
JinSnow

1
Ne güzel bir cevap. Beni ProcessHacker ile tanıştırdığınız için teşekkür ederiz. Varsayılan filtre ayarlarıyla aradığımı bulamadım ancak tüm onay kutularını işaretleyerek başarılı oldum. Elbette, arama sonuçları çok arttı, ancak art arda birden çok filtre uygulamak onu daralttı. Ah, beni bazı kayıp e-postaları yazmaktan kurtardı. (+1)
Doğrusal Noel

3

Firefox’un modern sürümlerinde, bunun için kullanılabilecek geliştirici araçları bulunur. Basın Ctrl+ Shift+ QAğ aracını getirmek için basın F5sayfayı yeniden ve Ağ aracında (muhtemelen) en üstteki satırı seçmek (onayla içeriği yeniden gönderileceğini unutmayın uyarı, biz tam olarak bunun olmasını istiyorum). Bu POSTyöntem olarak göstermelidir .

Sağ tarafta bir dizi sekme belirir. İlgilendiğimiz "Başlıklar" zaten açık olmalı. Edit and Resendİstek içeriğinin tamamını almak için tıklayın . İstek İsteği alanı, tüm istek verilerini URL kodlu formda içerir. Böyle bir dekoderi aracılığıyla Run bu bir veri geri almak için.


1
Kesinlikle bu. Not: Bazı web siteleri içeriği farklı şekilde kodlar, benim durumumda boşlukları + ve newlines \ r \ n ile değiştirdi.
user31389,

2

Verilerinizi kurtarmak için olası bir başka çözüm de, Firefox'un temel bir dökümü yapmaktır (Linux veya benzeri bir ortamda kullandığınızı varsayarsak). Daha fazla bilgi için bu cevaba bakınız: /superuser//a/236400/180675


2

Kayıp posta verilerini kurtarmak için kullanılabilecek yeni bir addon buldum: Form History Control

Yazar iddia ediyor:

Bu eklenti yazarken aynı zamanda editör alanlarındaki metni de saklar, bu yüzden felaket başladığında çalışmanızı asla kaybetmeniz gerekmez. Oturum zaman aşımlarından, ağ arızalarından, tarayıcı çökmelerinden, elektrik kesintilerinden ve sadece bu önemli e-postayı, makaleyi veya blog yazısını yazdığınız sıkı çalışmayı yok edecek diğer tüm şeylerden sonra kaybolan çalışmanızı kurtarın.

EDIT: Ah, bu yazıyı gerçekten kurtardı. :)


Bu uzantı (çok) güzel bir fikir. Ancak bu çok karmaşık. Bu uzantı gururla "otomatik olarak kaydedilmiş metnin herhangi bir forma girilmiş olduğunu" söylüyor. Kullanıcı tarafından girilen "içerik düzenlenebilir" verileri kaydediyor mu? Örneğin, Disqus yorumları ve Wikipedia WYSIWYG düzenlemeleri.
Nicolas Barbulesco

@NicolasBarbulesco Bilmiyorum, dene, sonra geliştiriciye çalışmıyorsa söyle. Sanırım sadece girdi ve textarea alanları için çalışıyor ve postdata oluşturuyor.
İndirmemdeki

1

Korkarım form içeriği önbelleğe alınmadı ... Normal giriş alanları (tek satır) otomatik doldurma ile kaydedilebilir , ancak metin alanı (birden çok satır, muhtemelen yazdığınız satırlar) değildir.


1

Web tarayıcısı kesinlikle bellekteki form verisine sahiptir . Zorluk şu: Bu veri nasıl alınır?

İşte benim fikrim. Bunu denemedim. Kağıt üzerinde çalışıyor. Bu cevap Firefox ve diğer Web tarayıcıları için geçerlidir.

Kısacası: Başlıkları incelerken sayfayı yeniden yükleyin.

  1. Makineleri ayarla. Web tarayıcısından gönderilen HTTP trafiğini incelemek için bir makineye ihtiyacımız var.
    • En iyi seçim, Firefox'un LiveHTTPHeaders for uzantısıdır  . Ancak bu eklentinin kurulmasının Firefox'un yeniden başlatılması gerektiğini düşünüyorum. Tabii ki Firefox'u yeniden başlatma! Firefox'u yeniden başlatmadan bu makineyi kurabilmek güzel olurdu. Aksi takdirde, bu uzantıyı önceden kurmuş olmanız yeterlidir. Gerekirse, sadece bir zaman makinesi kullanın . ;-)
    • Makineleri Web tarayıcısında hazırlayamıyorsanız, başka bir seçenek daha vardır. Bu seçenek daha ağırdır. Ancak güçlü gücü, tüm Web tarayıcıları için ve yeniden başlatmadan çalışmasıdır. Makinenize basit bir Web sunucusu veya proxy sunucusu (Squid gibi) kurun. Sunucunuzun gelen trafiği, tam başlıklarla kaydettiğinden emin olun. Ve giden tüm istekleri yönlendirme için işletim sistemine bir kural yerleştirin  127.0.0.1. Bu bir hosts dosya ile yapılabilir .
  2. Makineleri test et. Web tarayıcınızda yeni bir pencere oluşturun. Buraya Wikipedia'da bir metin yazın ve Önizleme'yi tıklayın . Ardından, makinelerinizde yazılı metninizi gördüğünüzü doğrulayın. Makineniz sunucu ise, Wikipedia formunu yüklemek için yönlendirme kuralını kapatmanız ve daha sonra açmanız gerekir.
  3. Sayfayı yeniden yüklemek için, formun bulunduğu yeri sağ tıklayın ve Yeniden Yükle'yi seçin . Bu önemli. Bazı web postalarında, bu yalnızca formun olduğu kareyi yeniden yükler. Burada mümkün olduğunca az yükleme yapmak istiyoruz. Adres çubuğundaki veya düğme çubuğundaki Yeniden Yükle düğmesini tıklarsanız  veya Apple R düğmesine basarsanız, tüm sayfayı yeniden yükleme riskini alırsınız ve bazı web postalarında bu durum sizi ayağınıza çeker.
  4. Normalde, Web tarayıcısı size şunu soracaktır: Form verilerini tekrar göndermek ister misiniz? Bu soruyu alırsanız, bu iyi bir işarettir. Tekrar gönder'i seçin .
  5. Gönderilen POST verilerini , 1. adımda ayarlanan makinelerle inceleyin . Burada istediğiniz verileri bulacaksınız.
  6. Gelin ve bize bu çözümün işe yaradığını söyleyin!

Bunun güncellenmesi gerekiyor, şimdi uzantıları yüklemek yerine Geliştirici Araçları'nı kullanın.
user31389,

1

*** Düzeltme: Aşağıdakiler Firefox ve Chrome'da çalışsa da, Firefox'taki anlık görüntü bir (gzip'd) ikili dosya oluşturur. Şimdilik bu yaklaşım yalnızca Chrome'da çalışıyor:

İçin hem Firefox ve Chrome, bir sistem sürecinin gerçek çekirdek dökümü kıyasla çok daha kolay bir yolu Geliştirici Araçları kullanmak olduğunu düşünüyorum.

Git Bellek sekmesi sonra almak (Chrome'da "Profiller" olarak adlandırılması için kullanılan) Anlık bir dosyaya ve kaydetme (sadece metin var). Ardından, dosyayı formunuzda yazdığınızı bildiğiniz bir sözcüğü arayın - bu, içeriğin tamamını bulmak için muhtemelen en hızlı yoldur.

Firefox Geliştirici Araçları - Bellek sekmesinin ekran görüntüsü

Bunu, Chrome'da dinamik bir formun (JavaScript) kendi kendine karıştırdığı ve yazdığım tüm metni kaybettiği bir sayfada test ettim. Hala hafızamdaydı ve henüz göndermemiş olsam bile kurtarabilirdim!

Daha fazla ayrıntı için https://developer.mozilla.org/en-US/docs/Tools/Memory ve https://developers.google.com/web/tools/chrome-devtools/memory-problems/heap-snapshots adresini ziyaret edin .


Firefox'ta, dosya sadece sıkıştırılmış gzip, bu nedenle basit bir zcat xxx.fxsnapshotiçerik almak için izin verir.
vaab,

1
Teşekkürler @vaab gerçekten gzip'd, ancak sıkıştırmadan sonra hala bir ikili dosya var. gunzip -c(Mac'teki zcat'e eşdeğer) esas olarak soru işaretleri döndürdü ... stringsÜzerine koştum ve biraz bilgi edindim, ancak tam formlu bir içeriğin bu şekilde kurtarılıp kurtarılamayacağını bilmiyorum.
Kamal
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.