Un fitxer desat encara no és una descàrrega verificada
Comproveu que una descàrrega a través del proxy contingui l'artefacte esperat, no una pàgina d'autenticació ni una resposta incompleta, abans de publicar-la o fer-la servir.
Un report.xlsx hipotètic fa 8 KB i s'obre com una pàgina d'inici de sessió. El programa va desar un fitxer correctament, però mai va obtenir el full de càlcul previst. El nom del fitxer es tria localment; no és cap prova del que ha arribat.
Feu de l'acceptació un pas separat abans de publicar la descàrrega temporal:
- Exigiu una transferència correcta i l'estat de resposta esperat. Conserveu l'error en lloc de tractar com a complet els bytes escrits abans d'ell.
- Compareu el contingut amb el tipus d'artefacte esperat. Una pàgina d'inici de sessió o de filtre pot retornar 200. El Content-Type pot ser incorrecte, i un prefix HTML en un full de càlcul és un avís que cal investigar. Un fitxer que comença amb una línia d'estat HTTP apunta més aviat a un emmarcat de resposta en brut.
- Valideu tots els bytes desats amb una suma de verificació o signatura de confiança quan estigui disponible. Només després que passin les comprovacions requerides l'aplicació hauria de publicar o utilitzar el fitxer final.
Calcular un hash sense un valor esperat només identifica els bytes que heu rebut. Una suma de verificació no signada obtinguda pel mateix camí no fiable pot compartir la feblesa de l'artefacte; feu servir una expectativa de confiança independent.
Vigileu també les comparacions de mida. Un client HTTP pot descodificar la codificació de contingut mentre llegeix, de manera que la longitud del fitxer resultant pot diferir legítimament d'una capçalera que descriu el missatge codificat. Compareu l'expectativa de l'editor amb la representació realment desada.
Si un intent falla, conserveu la sortida temporal només per a una represa deliberada o descarteu-la. Deixar bytes incomplets al camí final obliga el programa següent a endevinar si són utilitzables.