Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Brisanje direktorijuma sa sadrzajem

[es] :: PHP :: Brisanje direktorijuma sa sadrzajem

[ Pregleda: 3990 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

luner
Donald Secret
ISP admin

Član broj: 80
Poruke: 171
*.jagodina.beotel.yu

Sajt: www.lun.co.yu


Profil

icon Brisanje direktorijuma sa sadrzajem30.09.2002. u 17:05 - pre 261 meseci
rmdir(); zahteva da direktorijum bude prazan.

Da li postoji nacin da se obrise direktorijum sa kompletnim sadrzajem?
*************************************
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Brisanje direktorijuma sa sadrzajem30.09.2002. u 17:33 - pre 261 meseci
Napravi dve funkcije i pozivaj ih rekurzivno. Znaci imas funkciju brisidir() koja otvara direktorijum i poziva funkciju brisifajlove(), a kada ova vrati true, uklanja sam direktorijum. brisifajlove() koristi unlink() funkciju i ako naleti na dir, poziva brisidir() funkciju. Posto su sve varijable lokalne, sve ce lepo raditi.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Brisanje direktorijuma sa sadrzajem30.09.2002. u 17:34 - pre 261 meseci
"rm -fr direktorijum/" radi slicno...
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

luner
Donald Secret
ISP admin

Član broj: 80
Poruke: 171
195.252.118.*

Sajt: www.lun.co.yu


Profil

icon Re: Brisanje direktorijuma sa sadrzajem30.09.2002. u 21:04 - pre 261 meseci
Da, ipak sam odabrao drugi način:

system("rm -rf /etc/mod/registar/$imemodula");

Prvobitna zamisao je bila da koristim listu fajlova i diretktorijuma ali je unix komanda ipak (doduše malo sirovo) rešenje koje vrši posao na mnogo jednostavniji način.

Hvala!
*************************************
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.rcub.bg.ac.yu

Sajt: localhost


+5 Profil

icon Re: Brisanje direktorijuma sa sadrzajem01.10.2002. u 04:07 - pre 261 meseci
nadam se da si svestan potencijalnih sigurnosnih pitanja kada koristish ovaj pristup!
 
Odgovor na temu

luner
Donald Secret
ISP admin

Član broj: 80
Poruke: 171
195.252.118.*

Sajt: www.lun.co.yu


Profil

icon Re: Brisanje direktorijuma sa sadrzajem01.10.2002. u 09:59 - pre 261 meseci
U mom slučaju, ovo ne mora da bude nikakva opasnost. Evo i zašto:

CMS koji pišem deli korisnike u kategorije. Svaka kategorija ima svoj direktorijum. Svaki pokušaj da se pristupi bilo kom skriptu kategorije se rigorozno proverava. Ukoliko se pokaže da onaj ko zahteva skript nije ulogovan - brutalno biva izbačen napolje :))

<?

provera da li je ulogovan();

if (jeste) {
?>
Ovde ide sve sto se prikazuje i obavlja...
<?
}
else {
Header("Location: ../index.php");
}

?>

E sada, ovaj skript, koji bi pozivao sistemske komande se nalazi u modulu koji pripada samo najvišoj kategoriji, Administratori. Iako je malo verovatno da će neko od njih da se igra sa CMS-om, ipak je i funkcija system(); tako postavljena da je nemoguće ručno joj dodeliti parametar za brisanje...

Da li postoji neki sigurnosni propust koji sam ovde prevideo? (ako je moguće utvrditi nešto iz ovako grubog opisa).
*************************************
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.rcub.bg.ac.yu

Sajt: localhost


+5 Profil

icon Re: Brisanje direktorijuma sa sadrzajem02.10.2002. u 02:45 - pre 261 meseci
Citat:

ipak je i funkcija system(); tako postavljena da je nemoguće ručno joj dodeliti parametar za brisanje...


a ovo?

Citat:

system("rm -rf /etc/mod/registar/$imemodula");


pa samo zamisli da promenjiva $imemodula "nekako" dobije vrednost "../../../bla/truc"...


druga stvar, ma koliko (bio jak, ima neko jaci ;) da si ti siguran u svoje administratore da nece da hakuju nesto namerno, da li si siguran da svaki od njih ume da se cuva i sacuva svoju sifru, ili svoj sistem od keshiranja sifri, ili bilo sta slicno.

generalno, ovako nesto se vrlo retko radi na ovaj nacin, osim ako ne ide preko ssl zasticene veze (https://bla.truc/)

nemoj da te ja uplasim. tvoj program je mozda nemoguce prevariti, ali ja ti samo savetujem da se ovako obicno ne programira...
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.telia.com

Sajt: dejan.lekic.org


+2 Profil

icon Re: Brisanje direktorijuma sa sadrzajem02.10.2002. u 06:52 - pre 261 meseci
zombie, i da ' $imemodula "nekako" dobije vrednost "../../../bla/truc" ' opet se nista strasno ne bi desilo doduse na UNIX/Linux-u, jer na oba operativna sistema Apache radi kao apache, httpd, nobody, www, tako da taj "user" ne moze da brise nista u nekim ../../.. direktorijumima. Na Windozama je druga prica. Ako je Apache na Windows-u, onda se zahteva da se otvore cetvore oci! :)
Srecom ja nemam nijedan web server koji je na Windows-u. Jedina masina na kojoj je Windows (ova) sluzi samo i iskljucivo za igranje i za surfanje (mada i ostale sluze za isto) i jos kojekakve gluposti.
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Brisanje direktorijuma sa sadrzajem02.10.2002. u 14:41 - pre 261 meseci
moze da ti obrise ceo sajt, ako to nije nista onda ne znam sta je... apache user ima privilegije nad svim fajlovima tvog sajta...

Zasto ne bi napravio dve funkcije koje brisu fajlove... mada u principu cim trebas da brises direktorijume, taj cms bas i ne radi ok... naime sta cuvas u tim dir-ovima? slike? pa to moze i u jednom dir-u, pa da cuvas ime slike i kategoriju u mysql-u
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

luner
Donald Secret
ISP admin

Član broj: 80
Poruke: 171
*.jagodina.beotel.yu

Sajt: www.lun.co.yu


Profil

icon Re: Brisanje direktorijuma sa sadrzajem02.10.2002. u 18:21 - pre 261 meseci
Hehe, momci - trenutno sam u frci da napisem nesto sto ce da obavlja posao. Kad to zavrsim (posto mislim da je ovakav CMS veoma interesantan) objavljujem ga u javnosti kao OpenSource projekat pa cemo da vidimo kakva resenja imate.

U principu, moguce je nekako dodeliti eksterno ubaciti ime ali se trenutno od toga ne bojim - vise me brine da ne prekoracim rok :).
*************************************
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.elfak.ni.ac.yu

Sajt: localhost


+5 Profil

icon Re: Brisanje direktorijuma sa sadrzajem03.10.2002. u 00:51 - pre 261 meseci
Citat:
leka:
zombie, i da ' $imemodula "nekako" dobije vrednost "../../../bla/truc" ' opet se nista strasno ne bi desilo doduse na UNIX/Linux-u, jer na oba operativna sistema Apache radi kao apache, httpd, nobody, www, tako da taj "user" ne moze da brise nista u nekim ../../.. direktorijumima.


sve ovo ja znam, ali ti izgleda ne znash bash sve detalje.. ehem, kao sto rece goX.

josh jedan od direktorijuma koji se moze pobrisati je /tmp koji najcesce sadrzi podatke o sesijama. ovo ovde ne predstavlja problem (brisanje sesija) ali negde drugde cak i to je sigurnosna rupa (citanje/menjanje istih).

takodje, to sto ti ne koristish win za hostovanje prezentacija, blago tebi, ali recimo ako on ovaj sistem objavi kao open source (kao sto preti ;), i neki neupuceni korisnik ga instalira na win makini, sta onda...

on je lepo pitao sta moze da podje lose sa ovakvom logikom. ja sam samo dao svoje skromno misljenje...
 
Odgovor na temu

[es] :: PHP :: Brisanje direktorijuma sa sadrzajem

[ Pregleda: 3990 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.