A mentett fájl még nem ellenőrzött letöltés
Közzététel vagy használat előtt ellenőrizze, hogy a proxyn keresztüli letöltés a várt fájlt tartalmazza-e, nem bejelentkező oldalt vagy hiányos választ.
Egy hipotetikus report.xlsx 8 KB, és bejelentkező oldalként nyílik meg. A program sikeresen mentett egy fájlt, de soha nem kapta meg a szánt táblázatot. A fájlnevet helyben választják ki; ez nem bizonyíték arra, mi érkezett meg.
Tegye az átvételt külön lépéssé az ideiglenes letöltés közzététele előtt:
- Írjon elő sikeres átvitelt és a várt válaszstátuszt. Őrizze meg a hibát, ahelyett hogy az előtte írt bájtokat teljesnek tekintené.
- Hasonlítsa össze a tartalmat a várt fájltípussal. Egy bejelentkező vagy szűrőoldal 200-at adhat vissza. A Content-Type hibás lehet, és a táblázatban lévő HTML-előtag olyan figyelmeztetés, amelyet ki kell vizsgálni. A HTTP-státuszsorral kezdődő fájl inkább a nyers válaszkeretezésre utal.
- Ellenőrizze a teljes mentett bájtsorozatot megbízható ellenőrzőösszeggel vagy aláírással, ha elérhető. Az alkalmazás csak a szükséges ellenőrzések után tegye közzé vagy használja a végleges fájlt.
A hash kiszámítása várt érték nélkül csak a kapott bájtokat azonosítja. Az ugyanazon nem megbízható úton beszerzett aláírás nélküli ellenőrzőösszeg oszthatja a fájl gyengeségét; használjon független, megbízható elvárást.
A méret-összehasonlításoknál is legyen óvatos. Az HTTP-kliens olvasás közben dekódolhatja a tartalomkódolást, így a kapott fájl hossza jogosan eltérhet a kódolt üzenetet leíró fejléctől. Hasonlítsa össze a kiadó elvárását a ténylegesen mentett reprezentációval.
Ha egy kísérlet meghiúsul, csak szándékos folytatáshoz tartsa meg az ideiglenes kimenetet, vagy dobja el. A hiányos bájtok végleges útvonalon hagyása arra kényszeríti a következő programot, hogy találgassa, használhatók-e.