Sačuvajte bajtove binarne datoteke pri otpremanju kroz proksi
Sačuvajte bajtove datoteke i dužine u bajtovima pri otpremanju kroz proksi, umesto da artefakt dekodirate kao tekst i ponovo ga izgradite u ASCII-ju.
Binarna datoteka treba da stigne do HTTP klijenta kao bajtovi. Čitanje tekstualnim čitačem i ponovno kodiranje dobijenog niza u ASCII može zameniti vrednosti pre nego što proksi uopšte nešto primi. To što mali tekstualni uzorak radi ne čini taj put bezbednim za sliku, arhivu ili dokument.
U postojećem .NET putu otpremanja zamenite tu konverziju binarnim izvorom tela:
using var file = File.OpenRead(path);
using var content = new StreamContent(file);
Provedite sadržaj kroz HTTP otpremanje konfigurisano u aplikaciji; fragment uspostavlja izvor tela, dok postojeći klijent i dalje upravlja metodom, odredištem, proksijem i trajanjem.
Uklonite svaki Content-Length izračunat iz broja znakova starog niza. To polje meri oktete. Dozvolite HTTP biblioteci da izgradi uokvirivanje iz reprezentacije tela umesto da broj znakova uparuje sa baferom kodiranim na drugačiji način.
Za namerno tekstualno otpremanje eksplicitno izaberite kodiranje i izvedite potrebnu dužinu iz poslatih bajtova. Ta odluka o tekstualnom formatu ne treba da se primenjuje na proizvoljne datoteke.
Uporedite preneti artefakt sa pouzdanom očekivanom vrednošću. HTTP uspeh potvrđuje da je operacija otpremanja završena na tom sloju; ne može pokazati da je prethodna tekstualna konverzija sačuvala originalne bajtove.