Saglabātais fails vēl nav pārbaudīta lejupielāde
Pirms publicēšanas vai lietošanas pārbaudiet, vai lejupielāde caur starpniekserveri satur gaidīto failu, nevis pieteikšanās lapu vai nepilnīgu atbildi.
Hipotētisks report.xlsx ir 8 KB un atveras kā pieteikšanās lapa. Programma veiksmīgi saglabāja failu, bet nekad neieguva paredzēto izklājlapu. Faila nosaukums tiek izvēlēts lokāli; tas nav pierādījums par to, kas ieradās.
Padariet pieņemšanu par atsevišķu soli pirms pagaidu lejupielādes publicēšanas:
- Pieprasiet veiksmīgu pārsūtīšanu un gaidīto atbildes statusu. Saglabājiet kļūdu, nevis uzskatiet pirms tās ierakstītos baitus par pilnīgiem.
- Salīdziniet saturu ar gaidīto faila tipu. Pieteikšanās vai filtra lapa var atgriezt 200. Content-Type var būt nepareizs, un HTML prefikss izklājlapā ir brīdinājums, kas jāizmeklē. Fails, kas sākas ar HTTP statusa rindu, norāda uz neapstrādātas atbildes ietvaru.
- Validējiet visus saglabātos baitus pret uzticamu kontrolsummu vai parakstu, ja tāds ir pieejams. Programmai vajadzētu publicēt vai izmantot galīgo failu tikai pēc tam, kad ir izturētas nepieciešamās pārbaudes.
Ja aprēķina hash bez gaidītās vērtības, tas identificē tikai saņemtos baitus. Neparakstīta kontrolsumma, kas iegūta pa to pašu neuzticamo ceļu, var dalīties ar faila vājumu; izmantojiet neatkarīgu uzticamu gaidu.
Esiet piesardzīgi arī ar izmēru salīdzināšanu. HTTP klients lasīšanas laikā var atšifrēt satura kodējumu, tāpēc iegūtā faila garums var likumīgi atšķirties no galvenes, kas apraksta kodēto ziņojumu. Salīdziniet izdevēja gaidu ar faktiski saglabāto attēlojumu.
Ja mēģinājums neizdodas, saglabājiet pagaidu izvadi tikai apzinātai turpināšanai vai izmetiet to. Nepilnīgu baitu atstāšana galīgajā ceļā liek nākamajai programmai minēt, vai tie ir lietojami.