ugrás a tartalomhoz

copy-passz

Anonymous · 2004. Júl. 10. (Szo), 02.45
Az index.php-m 38. sorában lévő:
"copy ($fajl, $fajl_name);"
(ahol $fajl egy form <input type='file' name='fajl'> mezőjéből származik) utasításra a:

"Warning: copy(): open_basedir restriction in effect. File(/var/tmp/phpGdGYCn) is not within the
allowed path(s): (/mnt/ultraweb/t/te/teszt/) in /mnt/ultraweb/t/te/teszt/index.php on line 38
/var/tmp/phpGdGYCn, '/mnt/ultraweb/t/te/teszt/' . kep.gif"
hibaüzenetet kapom.

Mér' van ez?
A saját Apache-omon működik!
 
1

open_basedir

Thom · 2004. Júl. 10. (Szo), 04.46
A hibaüzenetben az "open_basedir" egy php.ini beállításra hivatkozik, miszerint a scriptek nem végezhetnek korlátlanul fájlműveleteket. Ezt általában a script mappájára ill. az alatta lévő mappákra szokták korlátozni a tárhelyszolgáltatók (pl. a freeweb) biztonsági okból, hogy ne tudjon az egyik felhasználójuk a másik kódjaiban turkálni.
A beállítást a scriptből tudomásom szerint nem lehet kikerülni.

Üdv: Thom
[ThomasWebMűhely] [ThomasPortál]
2

Eddig OK, de ha az adott kön

Anonymous · 2004. Júl. 11. (V), 00.30
Eddig OK, de ha az adott könyvtárszint alatt sem enged dolgozni
(/mnt/ultraweb/t/te/teszt/kepek/), akkor mit lehet tenni?
Nem tudok fájlt feltölteni a saját könyvtáramba?

Hogy érthetőbb legyen:
/mnt/ultraweb/t/te/teszt/ - ez a basedir-em.
/mnt/ultraweb/t/te/teszt/kepek/ - ide akarnám másolni a tempből a feltöltött fájlomat (kep.gif),
amikor a $fajl_name változóm "/kepek/kep.gif" tartalmú.
3

Hmm... Ez van.

Thom · 2004. Júl. 11. (V), 00.50
Nézd csak meg:
Warning: copy(): open_basedir restriction in effect. File(/var/tmp/phpGdGYCn) is not within the
allowed path(s): (/mnt/ultraweb/t/te/teszt/) in /mnt/ultraweb/t/te/teszt/index.php on line 38
/var/tmp/phpGdGYCn, '/mnt/ultraweb/t/te/teszt/' . kep.gif

Itt a hibát írja le, utána pedig az engedélyezett mappát (allowed path). Úgy néz ki, nem lehet mappán kívül mozogni.
Ez van. Egyébként én láttam már olyat is, hogy a php fájlfeltöltést teljesen blokkolták.

Üdv: Thom
[ThomasWebMűhely] [ThomasPortál]
4

move_uploaded_file()

T.G · 2004. Júl. 11. (V), 01.33
http://hu.php.net/manual/hu/function.move-uploaded-file.php
Nem ismerem az ultrawebet, így lehet, hogy ez sem megy, de több szolgáltatót láttam már, ahol copy tiltva volt, de a move_uploaded_file használható.
Egy próbát megér...
5

move_uploaded_file

Anonymous · 2004. Júl. 11. (V), 02.09
Megérte a próbát!
Ez volt a gond. Nekem nem jutott az eszembe pedig már mindenfélével próbálkoztam.
Azért a szolgáltatótól nem túl szép, hogy a copy-t nem írta bele a tiltott függvények listájába, mert azt már korábban megnéztem.
Köszi a tippet!
6

Nem tiltott a copy

Hojtsy Gábor · 2004. Júl. 11. (V), 13.10
Nem tiltott a copy, csak az open_basedir-en kívül nem használható. A move_uploaded_file() viszont kivételes abban az értelemben, hogy kifejezetten a feltöltött állományokra készült, azaz az open_basedir korlátozás nincs rá hatással (úgyis csak a feltöltési könyvtár tud a forrása lenni).
7

Bocsi

Thom · 2004. Júl. 11. (V), 14.46
Valóban. Pedig múltkor épp egy fórumon találkoztam a copy() ilyen helyettesítésével, most mégis elfelejtettem javasolni (elég késő volt már...). Bocs a kicsit felületes válaszért.
Üdv: Thom
[ThomasWebMűhely] [ThomasPortál]