Men derudover kan alle jo komme og kalde en fil for .jpg - uden at det rent faktisk er en sådan. Du bør nok også med getimagesize teste, at den har den rigtige type.
Du kan jo af gode årsager aldrig finde ud af, om en fil er en almindelig tekstfil, så da du tillader txt filer at blive uploadet tillader du i praksis, at hvad som helst kan blive uploadet.
Men skal det være sikkert, så er $_FILES['fil']['type'] også sendt af klienten - og hvis jeg i min browser vælger en EXE fil, der hedder fil.jpg, så vil min browser også sende image/jpeg, for min browser tror umiddelbart også, at det er en JPG fil alene udfra endelsen.
Derudover er typen netop sendt af browseren/klienten, kan man sagtens forfalske den.
hyberpreproceser, til at validere tre af typerne, pdf-filen kan valideres med et system-kald til "file" eller via pdf-lib. Men txt filer kan jo aldrig rigtig valideres.
Og den kigger nemlig på filens faktiske indhold - udfra generelle magic-regler.
Det burde jeg muligvis have nævnt i starten, men tænkte ikke lige på den :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.