Problema flash/php protejare poze
Moderator: Moderatori
Problema flash/php protejare poze
Incerc sa fac o combinatie de php/flash/javascript pentru o galerie foto. Principalul atu al acestui script ar fi ca nimeni sa nu poata salva imaginea originala. Pentru a afisa imaginea se incarca jpg-ul intr-un flash si este afisata intr-un anumit fel.
problema mea: cum imi protejez imaginile dintr-un director, in sensul sa le "livreze" doar daca sunt cerute de flashul meu. Am incercat cu verificarea refererului, insa flashul nu trimite referer. Alta idee?
problema mea: cum imi protejez imaginile dintr-un director, in sensul sa le "livreze" doar daca sunt cerute de flashul meu. Am incercat cu verificarea refererului, insa flashul nu trimite referer. Alta idee?
- Sim Master
- Average Member
- Mesaje: 189
- Membru din: Dum Aug 22, 2010 4:31 pm
- Localitate: Timisoara
- Contact:
-
nevvermind
- Senior Member
- Mesaje: 1264
- Membru din: Mar Iun 22, 2010 3:17 pm
- vectorialpx
- Senior Member
- Mesaje: 4832
- Membru din: Mar Mar 01, 2005 9:48 am
- Localitate: Bucuresti
- Contact:
Protejezi fisierele in folder in care poate citi/executa doar PHP-ul [nu stiu exact sa-ti zic numeric care sunt privilegiile] si le treci prin GD la afisare.
Ca sa poti face aceasta protectie, trebuie sa ai un user autentificat, sau ceva de genul asta si fiecare imagine in baza de date, cu un ID. Inainte sa treci poza prin GD, verifici autentificarea.
Ca sa treci poza prin GD faci ceva de genul asta:
[php] <?php
// verifici autentificarea
// verifici daca poza apartine userului
// $imaginea = imaginea din baza de date care are ID-ul = $_GET['id']
$im = @imagecreatefromjpeg($imaginea) or die('Cannot Initialize');
header ('Content-type: image/jpeg');
imagejpeg($im); imagedestroy($im);
?> [/php]
apoi, link-ul catre poza va fi
http://aasdas.com/getPoza.php?id=3
Ca sa poti face aceasta protectie, trebuie sa ai un user autentificat, sau ceva de genul asta si fiecare imagine in baza de date, cu un ID. Inainte sa treci poza prin GD, verifici autentificarea.
Ca sa treci poza prin GD faci ceva de genul asta:
[php] <?php
// verifici autentificarea
// verifici daca poza apartine userului
// $imaginea = imaginea din baza de date care are ID-ul = $_GET['id']
$im = @imagecreatefromjpeg($imaginea) or die('Cannot Initialize');
header ('Content-type: image/jpeg');
imagejpeg($im); imagedestroy($im);
?> [/php]
apoi, link-ul catre poza va fi
http://aasdas.com/getPoza.php?id=3
- Sim Master
- Average Member
- Mesaje: 189
- Membru din: Dum Aug 22, 2010 4:31 pm
- Localitate: Timisoara
- Contact:
- Sim Master
- Average Member
- Mesaje: 189
- Membru din: Dum Aug 22, 2010 4:31 pm
- Localitate: Timisoara
- Contact:
- vectorialpx
- Senior Member
- Mesaje: 4832
- Membru din: Mar Mar 01, 2005 9:48 am
- Localitate: Bucuresti
- Contact:
-
nevvermind
- Senior Member
- Mesaje: 1264
- Membru din: Mar Iun 22, 2010 3:17 pm
O fi existand print screen, dar daca slideshow-ul face resize dinamic la imagini ar fi o idee buna ca folderul cu imaginile in marime naturala din folder sa nu fie accesate, nu?
O idee, cum au sugerat-o unii, e amestecare pseudo-haotica ("obfuscation") a numelor imaginilor sau a URL-ului catre ele. Gen "1kjh1kjh2jh3kjh434.jpg". Evident, aplicatia flash ar terbui sa stie numele fisierului, sau sa decodifice calea catre fisier.
Later edit:
Altele: ar putea pune un "index.php" in folderul cu imagini si un .htaccess tot acolo cu "Options -Indexes" sau "IndexIgnore *.jpg", cum spune . Nu ca ma pricep, dar arunc si eu seminte, poate infloresc.
O idee, cum au sugerat-o unii, e amestecare pseudo-haotica ("obfuscation") a numelor imaginilor sau a URL-ului catre ele. Gen "1kjh1kjh2jh3kjh434.jpg". Evident, aplicatia flash ar terbui sa stie numele fisierului, sau sa decodifice calea catre fisier.
Later edit:
Altele: ar putea pune un "index.php" in folderul cu imagini si un .htaccess tot acolo cu "Options -Indexes" sau "IndexIgnore *.jpg", cum spune . Nu ca ma pricep, dar arunc si eu seminte, poate infloresc.
Ultima oară modificat Joi Sep 16, 2010 4:56 pm de către nevvermind, modificat 1 dată în total.
- vectorialpx
- Senior Member
- Mesaje: 4832
- Membru din: Mar Mar 01, 2005 9:48 am
- Localitate: Bucuresti
- Contact:
Ultima oară modificat Joi Sep 16, 2010 5:19 pm de către vectorialpx, modificat 1 dată în total.
-
nevvermind
- Senior Member
- Mesaje: 1264
- Membru din: Mar Iun 22, 2010 3:17 pm
Maestre, nu se numeste "imbecilitate", ci "necunostinta".
Era vorba de protectia imaginilor, in cazul in care ele (originale sau nu), sunt puse in folderul - nu public - ci intr-un altul, accesibil de catre script-ul PHP. Intrebam si sugeram pana aflam ca nu se poate. Si am aflat ca nu prea se poate. Watermark-ul e-o idee buna.
Sper ca OP-ul e convins ca trebuie utilizata metoda sugerata de tine, in speranta ca nu vei face BSoD daca procedeaza altfel.
Era vorba de protectia imaginilor, in cazul in care ele (originale sau nu), sunt puse in folderul - nu public - ci intr-un altul, accesibil de catre script-ul PHP. Intrebam si sugeram pana aflam ca nu se poate. Si am aflat ca nu prea se poate. Watermark-ul e-o idee buna.
Sper ca OP-ul e convins ca trebuie utilizata metoda sugerata de tine, in speranta ca nu vei face BSoD daca procedeaza altfel.
- Sim Master
- Average Member
- Mesaje: 189
- Membru din: Dum Aug 22, 2010 4:31 pm
- Localitate: Timisoara
- Contact:
- vectorialpx
- Senior Member
- Mesaje: 4832
- Membru din: Mar Mar 01, 2005 9:48 am
- Localitate: Bucuresti
- Contact:
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 2 vizitatori
