Autor | Zpráva | ||
---|---|---|---|
Lukáš Chmela Profil * |
#1 · Zasláno: 14. 10. 2006, 19:58:36
Dobrý den.
Mám problém s uploadem souboru, ovšem tenhle problém se víceméně týká pouze mého serveru, jelikož např. na webzdarma script normálně běží. Můj server používá pro hostované stránky bezpečný režim ( safe_mode ) a zároveň také open_basedir, aby si navzájem případné hostované stránky nemohly vyjet z root adresáře a prohlížet si data jiných webů. Problém však nastal při uploadování souboru. Soubor se sice normálně nahraje na server, to ano. Ale s použitím basediru se pochopitelně hostované stránky nemají šanci dostat k uploadovanému souboru, jelikož se ukládá do adresáře, k němuž nemají přístup. Původně jsem se chtěl zeptat, jestli by se toto zabezpečení nedalo obejít pozměněním php scriptu, ale pak jsem si uvědomil, že se stejným problémem by se potýkaly i hostované stránky, resp. uživatelé mého serveru. A tak jsem se chci zeptat, jak tuto nepříjemnost vyřešit v nastavení serveru apache, či php tak, aby se mohly soubory z temp adresáře kopírovat obyčejným způsobem. Jak jsem již řekl, například u webzdarma to není problémem, a já bych chtěl pochopitelně co nejjednodušší řešení ze strany uživatelů a proto děkuji za případné odpovědi. |
||
nightfish Profil |
#2 · Zasláno: 14. 10. 2006, 20:10:19
nepomohlo by použít move_uploaded_file()?
|
||
Lukáš Chmela Profil * |
#3 · Zasláno: 14. 10. 2006, 20:15:43
Právě že jsem si pečlivě pročítal manuál a když jsem tam našel tuhle funkci tak jsem ji okamžitě vyzkoušel. No a výsledek byl ten, že PHP vypsalo chybovou hlášku o přerušení move_uploaded_file() funkcí open_basedir. Teoreticky kdybych vypnul open_basedir tak by všechno fungovalo, ale jak bych potom kontroloval řádění hostovaných scriptů? mohl by se každý dostat všude...
|
||
nightfish Profil |
#4 · Zasláno: 14. 10. 2006, 20:22:04
Note: move_uploaded_file() is both safe mode and open_basedir aware. However, restrictions are placed only on the destination path as to allow the moving of uploaded files in which filename may conflict with such restrictions. move_uploaded_file() ensures the safety of this operation by allowing only those files uploaded through PHP to be moved.
Poznámka: funkce move_uploaded_file() respektuje nastavení safe modu a open_basedir. Nicméně omezení, stanovené těmito nastaveními, jsou uplatňována pouze na cílovou cestu, aby bylo umožněno přesunout uploadované soubory, jejichž název by mohl být v rozporu s těmito omezeními. Funkce move_uploaded_file() zajišťuje bezpečnost přesunu tím, že kontroluje, zda-li byl soubor opravdu uploadován pomocí PHP. |
||
Lukáš Chmela Profil * |
#5 · Zasláno: 14. 10. 2006, 20:28:40
Nj, jenže jak říkám, u mě měla funkce move_uploaded_file() za následek stejnou chybu jako copy()
|
||
tiso Profil |
#6 · Zasláno: 15. 10. 2006, 08:50:01
Lukáš Chmela
Skontroluj si cesty ktoré používaš v tom skripte a práva adresára kam chceš tie súbory kopírovať. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0