Autor Zpráva
Lukáš Chmela
Profil *
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
nepomohlo by použít move_uploaded_file()?
Lukáš Chmela
Profil *
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
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 *
Nj, jenže jak říkám, u mě měla funkce move_uploaded_file() za následek stejnou chybu jako copy()
tiso
Profil
Lukáš Chmela
Skontroluj si cesty ktoré používaš v tom skripte a práva adresára kam chceš tie súbory kopírovať.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0