[ peca89bg @ 27.10.2010. 19:44 ] @
treba mi mala pomoc oko chmoda...

pravim sajt koji ima formu za kupovinu... ima dosta proizvoda i stalno se menjanju i pristizu novi... posto zavrsavam sajt i da ne bi posle ja non - stop ubacivao coveku sam napravio formu da on ubacuje nove proizvode... sve to lepo radi... ali zanima me da li je ovo ispravno resenje za chmod foldera slike gde stoje slike prozivoda... da ne bi folder slike bio non stop u modu 0777 vec samo kad covek ubacuje nov prozivod i kad ga ubaci da se mod fodlera vrati na 0744

ovo je moj kod

Code:

if(isset($_SESSION['admin']))
{
chmod("../slike/", 0777);
//.. f-ja za add proizvoda 
chmod("../slike/", 0744);
}


da li ce mod za slike 0777 da bude samo dok traje sesija admina a inace da bude u modu 0744 tj. korisnici da mogu samo da vide sliike iz foldera a ne da vide i ceo sadrzaj foldera?
[ mitke013 @ 27.10.2010. 19:50 ] @
Stavi na 755, a u .htaccess dodaj:
Options -Indexes

Ovo ce spreciti da neko ode na site.com/neki-dir i izlista njegov sadrzaj
[ peca89bg @ 27.10.2010. 19:56 ] @
mislim da me nisi razumeo... da bi covek mogao da ubaci prozvoid i sliku proizvoda u folder slike, folder mora da bude u modu 0777... meni treba da folder bude u ovom modu samo kad ubaci proizvod i kad zavrsi sa ubacivanjem proizvoda da se vrati na 0744...
[ Goran Rakić @ 27.10.2010. 20:07 ] @
Nauči prvo šta je chmod. Ne treba da bude 0777.
[ peca89bg @ 27.10.2010. 20:14 ] @
mene na faxu ucili da treba da bude 0777... a kazi mii u kom treba da bude?
[ mitke013 @ 27.10.2010. 20:29 ] @
1. Programiranje neces nauciti na faxu, vec samo kroz mnogo, MNOGO rada
2. Zaista moras prvo nauciti sta su permissions. To nema veze sa programiranjem
3. Nemoj sebi komplikovati; prebaci sve na 755 i miran si. Vise google, manje faxa.
[ Goran Rakić @ 27.10.2010. 21:37 ] @
chmod je funkcija koja menja dozvole nad datotekom ili direktorijumom.

pojednostavljeno, svaka datoteka/direktorijum poseduje svojstva vlasnik, grupa i dozvole

dozvola (na primer 755) ima tri dela: vlasnik, grupa i ostali

čitanje je 4, upis je 2, izvršavanje je 1 (zbir je 7)

izvršavanje direktorijuma znači ulazak u taj direktorijum, čitanje znači pregled datoteka, pisanje znači izmena sadržaja direktorijuma (brisanje, pravljenje datoteke)

kada pokušaš da nešto uradiš na sistemu datoteka, upoređuje se koji si ti korisnik, koja je tvoja grupa i onda sistem određuje koje dozvole primenjuje

ako napraviš direktorijum iz PHP-a, dovoljno je da postaviš dozvole nad poljem vlasnik
ako je korisnik pod kojim radi veb server u istoj grupi kao i ti, dovoljno je da podesiš polje grupa
ako želiš da lupiš čekićem, ti podesiš polje ostali

ja bih postavio o+rwx (other), onda iz PHP-a odradio mkdir, promenio ga u u+rwx (user) i potom vratio chmod nad prethodnim

dozvole može da menja (izvrši chmod) samo vlasnik. dakle iz tvoje PHP skripte ne možeš da menjaš chmod osim ako korisnik pod kojim radi veb server nije vlasnik datoteke/direktorijuma. PHP-ova chmod funkcija vraća logički tačno/netačno zavisno od toga da li je operacija uopšte uspela.

mod edit: uklonjen odgovor na postove koji su obrisani

[Ovu poruku je menjao Aleksandar Vasic dana 29.10.2010. u 00:22 GMT+1]

[Ovu poruku je menjao Aleksandar Vasic dana 29.10.2010. u 00:22 GMT+1]
[ peca89bg @ 27.10.2010. 21:54 ] @
kako ce da se aploduje slika u folder ako je taj folder u modu 0755 ?

[Ovu poruku je menjao Aleksandar Vasic dana 29.10.2010. u 00:23 GMT+1]
[ peca89bg @ 27.10.2010. 22:39 ] @
bool chmod ( string $filename , int $mode )
Attempts to CHANGE the mode of the specified file to that given in mode. sa php.net

ne PROVERAVA mod nego POSTAVLJA na zadati mod a vraca tacno ako je uspesno PROMENJEN mod a vraca netacno ako je neuspesno PROMENJEN mod! toliko o znanju...

[Ovu poruku je menjao Aleksandar Vasic dana 29.10.2010. u 00:24 GMT+1]
[ Jbyn4e @ 27.10.2010. 22:44 ] @
^^ A ko je uopste pricao o proveravanju?

I ne pametuju, procitaj pazljivo Goranovu poruku nekoliko puta. Mozda ti se otvore novi vidici.
[ peca89bg @ 27.10.2010. 23:52 ] @
chmod na 0755 nece da aploduje a oce na 0777... jel imas neko objasnjenj sto nece?

[Ovu poruku je menjao Aleksandar Vasic dana 29.10.2010. u 00:27 GMT+1]
[ Goran Rakić @ 27.10.2010. 23:56 ] @
Zato što ne treba ni 777 ni 755, nego lepo pročitaj šta je napisano pa proveri ko je vlasnik direktorijuma i pod kojim korisnikom radi veb server. Onda lepo uporedi i nađi odgovarajuće dozvole. Bestraga vam google, knjigu u šake, prevrni na "dozvole u Unix sistemu" i lagano. Kolega, valjda se ovo još uvek radi kod nas na fakultetu: http://www.apuebook.com da ne tražiš, strana 92.

[Ovu poruku je menjao Aleksandar Vasic dana 29.10.2010. u 00:28 GMT+1]
[ peca89bg @ 28.10.2010. 00:06 ] @
pa vidis da polako idemo ka resenju posle 20 posta(zasto nije odma krenulo ovako?)... lepo sam hteo da pitam za skriptu... jel moze uopste ono sto ja hocu da se uradi preko skripte?
[ mitke013 @ 28.10.2010. 01:32 ] @
Sto se tice pitanja 755-777; priznajem da sam pogresio. Ja nikad nisam imao taj problem na mom hostingu, 755 mi bas potaman. Ako neces da se zezas sa tim stvarima, plati hostgator i resio si se SVIH tih muka koje nemaju veze sa programiranjem.

[Ovu poruku je menjao Aleksandar Vasic dana 29.10.2010. u 00:29 GMT+1]