Mime type ophalen

Gestart doorEleky14 reacties38 weergaven

15 berichten · pagina 1 van 1

Eleky

Lid · Topicstarter

Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hallo,

Ik wil van een bestand ophalen wat voor type het is.
Dus: audio/mpeg, application/rar etc.
Nu is mijn vraag vrij simpel, hoe doe ik dit?
Het gaat hier niet om een file die geupload word, maar gewoon het uitlezen van.

Ik kwam zelf uit op mime_content_type, alleen werkt deze niet meer omdat deze vervangen is door finfo.
Echter werkt finfo ook niet, dus zijn er nog andere manieren?
0
Berichten
3.461
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Als je het bestand hebt staat de extensie erachter, dus wat ik dan zou doen is de explode(); functie gebruiken op de punt ( . ) en kijken wat er achter de punt staat.
0
Berichten
3.314
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Lol, zou ik zeker niet doen, daarom wil hij juist het mime type ophalen. Google maar eens op NULL byte injection als je wil weten waarom.

Mime type kun je ophalen met $_FILES[field_name][type] maar je moet daar enorm mee opletten, mime types kun je namelijk faken.
0
Berichten
3.461
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik gaf enkel een oplossing voor zn probleem, er staat in zn startpost niet of ie liever iets veiligs heeft of niet. smile
0
Eleky

Lid · Topicstarter

Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Kyron schreef:
Lol, zou ik zeker niet doen, daarom wil hij juist het mime type ophalen. Google maar eens op NULL byte injection als je wil weten waarom.

Mime type kun je ophalen met $_FILES[field_name][type] maar je moet daar enorm mee opletten, mime types kun je namelijk faken.
Ik gaf al aan dat het niet om een ilias ging, dus $_FILES is hier niet van toepassing.
Josnl schreef:
Ik gaf enkel een oplossing voor zn probleem, er staat in zn startpost niet of ie liever iets veiligs heeft of niet. smile
Was geen oplossing, ik vroeg om mime type, niet de extensie
0
Berichten
3.314
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Eleky schreef:
Ik gaf al aan dat het niet om een ilias ging, dus $_FILES is hier niet van toepassing.
Sorry, snap niet dat ik dat over het hoofd heb gezien yummie
Probeer eens

[COLOR= #0000BB]<?php
$finfo[/COLOR] [COLOR= #007700]=[/COLOR] finfo_open[COLOR= #007700]([/COLOR]FILEINFO_MIME_TYPE[COLOR= #007700]);[/COLOR] 
   
[URL="http://www.php.net/echo"]echo[/URL] finfo_file[COLOR= #007700]([/COLOR][COLOR= #0000BB]$finfo[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$filename[/COLOR][COLOR= #007700]);[/COLOR]

finfo_close[COLOR= #007700]([/COLOR][COLOR= #0000BB]$finfo[/COLOR][COLOR= #007700]);[/COLOR]
?>
0
Eleky

Lid · Topicstarter

Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dat werkt niet, hij herkent de finfo functies niet, waardoor ik een error krijg.
Ga zo de code van lennard even proberen, en zie dan wel of het werkt!

Mag ik trouens vragen hoe het kan dat hij finfo niet kent?
Want finfo is er gekomen toen die mime_content eruit ging, en hij kent beide niet.
Dus bij one2xs draait een server die op een of andere manier een versie daartussen in heeft ofzo, terwijl dat er volgens mij niet is.
0
Berichten
3.314
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Staat magic aan, en zoja, wat voor foutmelding krijg je?
0
Eleky

Lid · Topicstarter

Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Fatal error: Call to undefined function mime_content_type() in ***

En bij finfo_open hetzelfde
maar ga nu dat andere proberen, laat wel weten of het werkt!

toevoeging op 30 december 2011, 21:05:57:
Dat script baseert het op extentie (.php = text/html etc)
Is volgens mij niet ideaal, maar gebruik het nu!
0
Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hier hetzelfde probleem. Ik wil alleen niet via extenties doen, dan krijg je zon null byte injection, ook al word het daarna nog eens gecontroleerd omdat van elk plaatje een .png word gemaakt.
0
Eleky

Lid · Topicstarter

Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Wil ik liever ook niet, maar omdat het hier puur om bestanden gaat die ik toevoeg kan het ermee doorwink
0
Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Vind dit wel behoorlijk slecht van php
0
Berichten
5.897
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
$type = strtolower(substr(strrchr($src,"."),1));


Zo heb ik het gevonden op php.net
Weet wel niet of je er iets mee bent.
0
Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ja zou haal je de extensie op, maar heb al een script gevonden

toevoeging op 3 januari 2012, 11:51:01:
Hij staat btw wel in een class:

[COLOR= #0000BB]<?php[/COLOR]

    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] fileCheck[COLOR= #007700]([/COLOR][COLOR= #0000BB]$file[/COLOR][COLOR= #007700])
    {[/COLOR]

        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fileInfo [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/pathinfo"]pathinfo[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$file[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]name[/COLOR][COLOR= #007700]]);[/COLOR]

        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]extension [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/strtolower"]strtolower[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fileInfo[COLOR= #007700][[/COLOR][COLOR= #DD0000]extension[/COLOR][COLOR= #007700]]);[/COLOR]

        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]mimeType [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/strtolower"]strtolower[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$file[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]type[/COLOR][COLOR= #007700]]);[/COLOR]

        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/in_array"]in_array[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]extension[COLOR= #007700],[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]extensions[COLOR= #007700]) &&[/COLOR] [URL="http://www.php.net/in_array"]in_array[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]mimeType[COLOR= #007700],[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]mimeTypes[COLOR= #007700]))
        {[/COLOR]

            [URL="http://www.php.net/return"]return[/URL] true[COLOR= #007700];
            
        }[/COLOR][URL="http://www.php.net/else"]else[/URL][COLOR= #007700]{[/COLOR]
            
            [URL="http://www.php.net/return"]return[/URL] false[COLOR= #007700];
            
        }
        
    }[/COLOR]
    

?>
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren