Gå til innhold

Problemer med MIME i upload script


Anbefalte innlegg

Heisann, har laget ett upload script til en konkurranse på skolen. Bruker MIME types til å tillate hvilke type filer som kan lastes opp, men når jeg skal laste opp .mp3 så blir det lastet opp som application/octet-stream på noen PCer, også vil den ikke lastes opp selv om jeg legger til denne i godkjente typer.

 

Noen idéer på hvorfor det skjer ?

 

 if ($_FILES["uploadedfile"]["type"] == "image/gif" || $_FILES["uploadedfile"]["type"] == "image/jpeg" || $_FILES["uploadedfile"]["type"] == "image/pjpeg" || $_FILES["uploadedfile"]["type"] == "image/png" || $_FILES["uploadedfile"]["type"] == "application/pdf" || $_FILES["uploadedfile"]["type"] == "video/quicktime" || $_FILES["uploadedfile"]["type"] == "video/avi" || $_FILES["uploadedfile"]["type"] == "text/plain" || $_FILES["uploadedfile"]["type"] == "audio/wav" || $_FILES["uploadedfile"]["type"] == "audio/mpeg" || $_FILES["uploadedfile"]["type"] == "audio/mpg" || $_FILES["uploadedfile"]["type"] == "application/force-download" || $_FILES["uploadedfile"]["type"] == "application/octet-stream") {

Lenke til kommentar
Videoannonse
Annonse

For det første; mime type kan manipuleres og man vil dermed kunne laste opp potensielt skadelige filer. Og for det andre så er det en veldig tungvint måte å gjøre det på. Prøv heller noe lignende som følger.

 

$allowedMimeTypes = array ( 'image/gif', 'video/avi' );

if ( in_array ( $_FILES["uploadedfile"]["type"], $allowedMimeTypes ) ) {}

Endret av Jonas
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...