Avatar billede cybermaster Nybegynder
01. august 2005 - 14:53 Der er 9 kommentarer og
1 løsning

Tjek filen ved upload

Hej med jer, jeg sider og leger lidt med upload af filer, jeg læste et sted at man skal være opmærksom på, at det er muligt at uploade en fil via php, som ender på fx. jpg, men i virkelighed er en anden type fil, der kan køres på serveren.

Hvordan tjækker jeg oprigtigheden af en fil fx. jpg typen?
Avatar billede kdjweb Nybegynder
01. august 2005 - 14:56 #1
du kan tjekke de sidste 3 - 4 bogstaver

if (substr($_FILES['upfil']['name'], -4) != ".jpg" && substr($_FILES['upfil']['name'], -4) != "jpeg") {
  echo "Forkert filtype";
  exit;
}
Avatar billede cybermaster Nybegynder
01. august 2005 - 15:03 #2
Ja det er jeg klar over, men der for er der kp stadivæk ingen garenti for at det ikke bare er en fx. exe fil der er omdøbt til jpg...
Avatar billede Slettet bruger
01. august 2005 - 15:17 #3
Tjek for MIME-type i stedet:

$_FILES['userfile']['type']
Avatar billede Slettet bruger
01. august 2005 - 15:17 #4
Avatar billede cybermaster Nybegynder
01. august 2005 - 15:21 #5
Tak ;-)
Avatar billede cybermaster Nybegynder
01. august 2005 - 15:21 #6
lig et svar.
Avatar billede erikjacobsen Ekspert
01. august 2005 - 15:24 #7
Det hjælper intet at checke MIME-typen. Det er en oplysning fra klienten, som enhver hacker vil kunne sætte til hvad som helst. Du kan teste på MIME-typen som en ekstra service overfor brugerne, men du slipper ikke for også at teste på extension. Ellers risikerer du netop at man kan uploade en .php eller .exe som en image/jpg.

Men hvad er problemet hvis en .exe fil uploades som .jpg? Den vil ikke blive udført af serveren.
Avatar billede Slettet bruger
01. august 2005 - 15:27 #8
Mon ikke der er større chance for at man omdøber en extension end man sætter en falsk MIME. Men ok, du bør tjekke begge ting hvis du vil være så sikker som muligt.
Avatar billede cybermaster Nybegynder
01. august 2005 - 16:00 #9
ok..

Tak lig svar..
Avatar billede cybermaster Nybegynder
17. september 2005 - 10:38 #10
Så lukkes der...!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester