Faili iliyohifadhiwa bado si upakuaji uliothibitishwa
Kabla ya kuchapisha au kutumia, hakikisha upakuaji kupitia proksi una faili inayotarajiwa, na si ukurasa wa kuingia au jibu lisilokamilika.
report.xlsx ya kudhania ina 8 KB na hufunguka kama ukurasa wa kuingia. Programu ilihifadhi faili kwa mafanikio, lakini haikupata kamwe lahajedwali iliyokusudiwa. Jina la faili huchaguliwa ndani ya kompyuta; si ushahidi wa kile kilichofika.
Fanya ukubalifu kuwa hatua tofauti kabla ya kuchapisha upakuaji wa muda:
- Hitaji uhamishaji uliofanikiwa na hali ya jibu inayotarajiwa. Hifadhi hitilafu badala ya kuchukua baiti zilizoandikwa kabla yake kama zilizokamilika.
- Linganisha maudhui na aina ya faili inayotarajiwa. Ukurasa wa kuingia au wa kuchuja unaweza kurudisha 200. Content-Type inaweza kuwa si sahihi, na kiambishi awali cha HTML katika lahajedwali ni onyo linalohitaji uchunguzi. Faili inayoanza na mstari wa hali ya HTTP huonyesha badala yake uundaji wa jibu ghafi.
- Thibitisha baiti zote zilizohifadhiwa dhidi ya checksum au sahihi inayotumika inapopatikana. Programu inapaswa kuchapisha au kutumia faili ya mwisho tu baada ya ukaguzi unaohitajika kupita.
Kukokotoa hash bila thamani inayotarajiwa hutambua baiti ulizopokea tu. Checksum isiyotiwa sahihi inayopatikana kupitia njia hiyo hiyo isiyoaminika inaweza kushiriki udhaifu wa faili; tumia matarajio huru yanayotumika.
Kuwa mwangalifu pia na ulinganishaji wa ukubwa. Mteja wa HTTP anaweza kusimbua usimbaji wa maudhui wakati wa kusoma, kwa hiyo urefu wa faili unaotokana unaweza kutofautiana kihalali na kichwa kinachoeleza ujumbe uliosimbwa. Linganisha matarajio ya mchapishaji na uwakilishi uliohifadhiwa kwa hakika.
Ikiwa jaribio litashindikana, hifadhi matokeo ya muda kwa ajili ya kuendelea kwa makusudi tu au yatupe. Kuacha baiti zisizokamilika kwenye njia ya mwisho hulazimisha programu inayofuata kukisia kama zinaweza kutumika.