Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 4.520 pregleda

Najnovija ↓

kako zaštititi slike 24.09.2009. u 15:17 · pre 208 meseci #1
Pozdrav,
kako bih mogao zaštititi slike da ih nakon uploada mogu vidjeti samo registrovani korisnici. Da ih ne može niko vidjeti kada ukuca www.domena.com/slike/slika.jpg ali da se prikazuju pojedine slike korisnicima koji su vlasnici istih. Slike se uploadaju u folder, nisu u bazi.

Hvala unaprijed.
Potpis
Give me six hours to chop down a tree and I will spend the first four sharpening the axe.
Re: kako zaštititi slike 24.09.2009. u 15:32 · pre 208 meseci #2
Baci slike u neki folder van public_html foldera i loaduj ih preko PHP skripte?
Nešta kao, provjeriš dal korisnik ima odobrenje da vidi sliku, ako nema baciš die error, ako ima baciš header za sliku, i učitaš sadržaj slike.
Trebalo bi da ovako nešta radi posao...
Potpis
“I never think of the future - it comes soon enough.” - Albert Anštajn (Albert Einstein)
Re: kako zaštititi slike 24.09.2009. u 15:49 · pre 208 meseci #3
Ne mora ni van public_html da bude (nemaju svi tu mogućnost), dovojno je da nazoveš folder sa slikama npr. ewoi23iifjdslf i da php skripta koja servira slike (i proverava dozvole) bude van tog foldera, kao i da niko drugi ne sazna ime tog foldera :)
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: kako zaštititi slike 24.09.2009. u 17:10 · pre 208 meseci #4
Mozes i da iskoristis .htaccess
http://www.scriptygoddess.com/...ect-your-images-with-htaccess/
Code:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://YOURSITE.COM/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://WWW.YOURSITE.COM/.*$ [NC]
ReWriteRule .*\.(gif|jpg)$ – [N,F,L]


Greska :| Pogresno sam procitao (sorry). Ovo gore je odgovor kako da zastitis sliku od toga da je bilo ko drugi linkuje.

Mogao bi da slike serviras preko bilo koje phpscripte.
recimo www.domen.com/servirajsliku.php?slika=logo.jpg
Zatim u ovom fajlu koristis pravu putanju do slike a vracas temp slike koji se trenutno prikaze na htmlu, ali ga ustvari nema.
Code:

$slika = 'some path/'.$_GET['slika'];

/* //ovde odradis malo coda za kreiranje slike (mrzi me da piskaram). nesto kao
  $image = imagecreatefromjpeg($slika);
  // zatim samo izbacis tu sliku nazad
  header('Content-Type: image/jpeg');
  imagejpg($image);
  imageDestroy($image);
*/


Tako nesto bi mogao da odradis. Naravno malo to prosiris da vidis da li je user logovan pa zastitis i tako to.

Nadam se da sam ti pomogao (ako nisam, javi se pa cemo zajedno da napisemo kod :) )
Potpis
---------------------------------------------------------------------
Just do it.
Re: kako zaštititi slike 24.09.2009. u 18:05 · pre 208 meseci #5
Uopšte mu ne treba GD za tako nešto - bespotrebno troši memoriju. Dovoljno je:

Code:
header('Content-Type: image/jpeg');
readfile('putanja/do/slike/fajl.jpg');


Naravno, putanja do slike mu ne bi bila ovako hardkodovana :)
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: kako zaštititi slike 24.09.2009. u 19:35 · pre 208 meseci #6
a bi li se moglu staviti na sliku permision (chmod) recimo 600 (ili koji vec) tako da samo PHP skripta moze citat (ako je Linux server)?
Re: kako zaštititi slike 24.09.2009. u 20:39 · pre 208 meseci #7
Da, naravno, to može doprineti bezbednosti. Onda ne mora da krije ime foldera sa slikama. Ali uslov je da Apache i PHP rade pod različitim korisničkim nalozima (ako se ne varam)
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: kako zaštititi slike 24.09.2009. u 22:59 · pre 208 meseci #8
Citat:
Uopšte mu ne treba GD za tako nešto - bespotrebno troši memoriju.

Slazem se u potpunosti.
Moj mozak je malo drugacije radio u tom trenutku, ja sam vec zamisljao da se ta slika kombinuje sa necim (sto prosto kad moze kompikovano :D)


Sto se tice foldera sa slikama, mozes jednostavno da ga zastitis sa .htpasswd, i onda u tom slucaju te nije ni briga da li neko zna kako se tvoj folder zove ;).
Ili jos bolje, iskoristis .htaccess da vratis (na recimo index stranu) bilo koga ko pokusa da priviri u taj folder :)
Potpis
---------------------------------------------------------------------
Just do it.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme