ugrás a tartalomhoz

Feltöltött PHP fájl futtatásának meggátolása

xavier · 2006. Jún. 11. (V), 23.51
Sziasztok!

Milyen megoldást javasoltok, hogy ha a júzer feltölt egy fájlt, akkor azt ne tudja futtatni a szerveren. Mert pl. megcsinálja, hogy egy PHP fájlt feltölt, és meghackeli az oldalt. Azt hittem, hogy ha a fájlt 644-re állítom chmod()-al, akkor jó lesz, de továbbra is lefut a PHP script. Vagy az apache-ban kéne ezt beállítani?

Előre is köszönöm a segítséget!

Üdv,
xavier
 
1

2 megoldás

erenon · 2006. Jún. 12. (H), 00.01
Alapvetően a formban meg lehet állapítani, hogy milyen médiatípusokat lehet feltölteni. Amikor meg feltöltöd a fájlt php-ben, ellenőrzöd a MIME típusát, benne van a $_FILES szuperglobálisban.
2

Egyszerű

krey · 2006. Jún. 12. (H), 00.02
A legegyszerűbb a www könyvtáron kívül helyezni, akkor biztos nem fog lefutni, meg lehet próbálni "elrontani" a kódot, és az elejére berakni egy shakespeare idézetet (komment nélkül), akkor error és biztos nem fut le, másik egyszerű megoldás a <? <?php és barátaik leávágása a script elejéről.

krey
3

a hozzáférésedtől függ

vbence · 2006. Jún. 12. (H), 00.02
A megoldást aszerint válaszd ki, menni beleszólásod van a szerver működésébe.

A) Szinte semmi: megakadályozod php kiterjesztésű file elfogadását (vagy átnevezed őket modjuk hph-ra)

B) .htaccess: ha egykönyvtárra ki akarod kapcsolni a php fájlok futtatását, a következőt írd egy .htaccess nevű fájlba az aktuális könytárban

AddType text/plain .php
vigyáznod kell arra, hogy a szerver konfigurációjától függően más kiterjesztéseket is php-nek nézhet (pl: php3, php4, p stb.) Ezeket ki kell nyomoznod, és szintén a fenti példához hasonlóan felülírni.

Még biztos van pár más lehetőség is...
4

re: Feltöltött PHP fájl futtatásának meggátolása

Anonymous · 2006. Jún. 12. (H), 00.03
miért engeded neki, hogy .php kiterjesztést töltsön fel?