fájlfeltöltés, biztonságosan
sziasztok
ez a kerdes a jatekomtol fuggetlen, egy kiserlettel kapcsolatban botlottam bele.
tehat meg szeretnem oldani, hogy a felhasznalo bongeszojen keresztul fileokat tolthessen fel (ajaxos gui), konyvtarakat, fileokat hozhasson letre, torolhessen, masolhasson, mozgathasson. eddig tiszta sor, ilyen (php) scriptekbol sokmillio van az interneten is.
ott akadtam el, hogy nem tudom, hogyan lehetne megoldani, hogy a felhasznalo bizonyos mappakat csak jelszoval erhessen el, sot, ne lehessen torolni olyan konyvtarakat/konyvtarszerkezeteket, amikben jelszoval vedett tartalom/konyvtar van, vagy jelszoval vannak levedve. a masik problemam az, hogy nem szeretnem engedelyezni, hogy a feltoltott php kiterjesztesu fileok lefussanak :) tudom, hogy a jogosultsagok, chmod erre valo, de a sajat szerveremen valamiert nem mukodik.
ti hogyan allnatok neki?
valaszaitokat varom
ErdosJ
■ ez a kerdes a jatekomtol fuggetlen, egy kiserlettel kapcsolatban botlottam bele.
tehat meg szeretnem oldani, hogy a felhasznalo bongeszojen keresztul fileokat tolthessen fel (ajaxos gui), konyvtarakat, fileokat hozhasson letre, torolhessen, masolhasson, mozgathasson. eddig tiszta sor, ilyen (php) scriptekbol sokmillio van az interneten is.
ott akadtam el, hogy nem tudom, hogyan lehetne megoldani, hogy a felhasznalo bizonyos mappakat csak jelszoval erhessen el, sot, ne lehessen torolni olyan konyvtarakat/konyvtarszerkezeteket, amikben jelszoval vedett tartalom/konyvtar van, vagy jelszoval vannak levedve. a masik problemam az, hogy nem szeretnem engedelyezni, hogy a feltoltott php kiterjesztesu fileok lefussanak :) tudom, hogy a jogosultsagok, chmod erre valo, de a sajat szerveremen valamiert nem mukodik.
ti hogyan allnatok neki?
valaszaitokat varom
ErdosJ
első
a jelszavazast pedig ugy kepzeltem el, hogy minden uj konyvtarba teszek egy .htaccess filet, ami tartalmazza a lehetseges jelszavakat, sot, felszolitja a szervert, hogy a php allomanyokat ne kezdje el futtatni.
itt viszon hatalmas problemaba utkozom akkor, ha konyvtarszerkezeteket kell torolnom, athelyeznem, masolnom.. ilyenkor rekurzivan be kene jarnom a konyvtarszerkezetet, vagy van egyszerubb megoldas is?
nem publikus konyvtar
evvel szerintem megoldodik a php fajlok tiltasa is, leven a webrol nem elerhetoek.
"minden uj konyvtarba teszek egy .htaccess filet, ami tartalmazza a lehetseges jelszavakat"
ezt a jelszavas dolgot nem ertem teljesen, hogy mire kell tobb jelszo.
második
arrol szolt, hogy a feltoltott allomanyokat nem tenylegesen, valodi konyvtarakba menti, hanem adatbazisokban tarolja, onnan hivja elo..
ez mennyire jarhato ut?
Adatbázisba tenném
Adatbázisban tároláshoz egy egyszerű fát kell készítened, a mikéntekről olvasd el a Hierarchikus adatkezelés cikket itt a weblaboron :)
A strukturát mintázhatod a unix filerendszerről, én két táblába szervezném:
fs_table:
id, parent_id, type, mime-type, owner, group, permissions, status, ctime, atime, mtime, size, name
fs_content:
id, fs_table_id, content
Ha linkelést (symlink, hardlink) is szimulálni akarod, kell még egy tábla minimum de ezt most hagyjuk szerintem :)
Azért két tábla, mert így rugalmasabban pakolgathatod a file tartalmakat tartalmazó tábla mehet külön tablespace-be pl. he verziózni szeretnéd a fileok tartalmát akkor így egyszerűbb lesz, a linkeléshez is jól jön ez a struktúra...
Hát valahogy így állnék neki. Érdemes átgondolni, hogy egyszerű fa vagy nested-set típusú fában érdemes-e inkább tárolni a "filerendszert"...
Re: Adatbázisba...
egyeb otlet?
blob
Csomagkorlát
Blob méret
postgres: 1 GB
firebird: 32 GB
http://www.amsoftwaredesign.com/pg_vs_fb
Persze azt is lehet csinálni, hogy a file-t nem blob-ba teszed hanem filerendszerbe és csak egy hivatkozást helyezel el a táblában ill. a filenevet/elérési utat tárolod el. A fileokat pedig a webrooton kívüli könyvtárba teszed, így nem érik el a webről.