Spremljena datoteka još nije potvrđeno preuzimanje
Prije objave ili uporabe provjerite sadrži li preuzimanje preko proxyja očekivanu datoteku, a ne stranicu za prijavu ili nepotpun odgovor.
Hipotetska report.xlsx ima 8 KB i otvara se kao stranica za prijavu. Program je uspješno spremio datoteku, ali nikada nije dobio namijenjenu tablicu. Naziv datoteke odabire se lokalno; on nije dokaz o tome što je stiglo.
Neka prihvat bude zaseban korak prije objave privremenog preuzimanja:
- Zahtijevajte uspješan prijenos i očekivani status odgovora. Sačuvajte pogrešku umjesto da bajtove zapisane prije nje smatrate potpunima.
- Usporedite sadržaj s očekivanim tipom datoteke. Stranica za prijavu ili filtriranje može vratiti 200. Content-Type može biti pogrešan, a HTML prefiks u tablici upozorenje je koje treba istražiti. Datoteka koja počinje retkom HTTP statusa upućuje na sirovo uokvirenje odgovora.
- Provjerite kompletne spremljene bajtove prema pouzdanom kontrolnom zbroju ili potpisu kada su dostupni. Tek nakon što potrebne provjere prođu, aplikacija bi trebala objaviti ili koristiti konačnu datoteku.
Izračun hasha bez očekivane vrijednosti identificira samo bajtove koje ste primili. Nepotpisani kontrolni zbroj dohvaćen istim nepouzdanim putem može dijeliti slabost datoteke; upotrijebite neovisno pouzdano očekivanje.
Pazite i na usporedbe veličine. HTTP klijent može dekodirati kodiranje sadržaja tijekom čitanja, pa se duljina rezultirajuće datoteke može legitimno razlikovati od zaglavlja koje opisuje kodiranu poruku. Usporedite izdavačevo očekivanje s prikazom koji je doista spremljen.
Ako pokušaj ne uspije, zadržite privremeni izlaz samo za namjerno nastavljanje ili ga odbacite. Ostavljanje nepotpunih bajtova na konačnoj putanji prisiljava sljedeći program na nagađanje jesu li upotrebljivi.