Salutare.
Cred ca am postat unde trebuie daca nu rog un administrator sa mute corect.
Am observat pe cateva siteuri ca de exemplu daca dai click dreapta si dai "View Image" nu arata poza respectiva, e setata una standard neagra sau de alt fel. In felul asta nu poti copia imagina (cel putin nu prin metoda asta, poate exista alta). Am observat ca orice extensie ar fi la fel arata pe aceea setata de ei ca fiind
As dori sa fac si eu la fel pe un site. Am observat ca am cativa 'prieteni' care tot imprumuta imaginile puse de mine.
In felul asta (ma gandesc eu) nu mai pierd vremea sa scriu pe ele siteul sau nume sau altceva care sa opreasca 'imprumutarea' lor.
Multumesc pentru timpul acordat.
Protectie imagini, Ascunde adresa reala a imaginii
-
- Mesaje:9
Protectie imagini, Ascunde adresa reala a imaginii
Totul ti se pare mare atunci cand esti mic :)
MarPlo
Mesaje:4343
Salut
Probabil se foloseste preluarea imaginii printr-un script pe server.
De exemplu, adauga la adresa imaginii: script.php?id=id_img , iar in fisierul "script.php" preia "id_img", apoi, dintr-un array ia numele imaginii corespunzatoare acelui ID si citeste fisierul cu acea imagine, care e in alt director, sau citeste una "default" daca se acceseaza cu alta adresa.
Ori, ca sa fie mai complex, face adresa imaginii asa: dirimg/id_img.jpg , iar in ".htaccess" redenumeste calea catre "script.php", asa:
Probabil se foloseste preluarea imaginii printr-un script pe server.
De exemplu, adauga la adresa imaginii: script.php?id=id_img , iar in fisierul "script.php" preia "id_img", apoi, dintr-un array ia numele imaginii corespunzatoare acelui ID si citeste fisierul cu acea imagine, care e in alt director, sau citeste una "default" daca se acceseaza cu alta adresa.
Cod: Selectaţi tot
<?php
$imagini = array(
'id_img1'=>'nume_imagine1.jpg',
'id_img2'=>'nume_imagine2.jpg',
'id_img3'=>'nume_imagine3.jpg'
);
$img = (isset($_GET['id']) && isset($imagini[$_GET['id']])) ? 'alt_dir/'. $imagini[$_GET['id']] : 'imagine_default.jpg';
header('Content-type: image/jpeg');
readfile($img);
?>
Cod: Selectaţi tot
RewriteRule ^dirimg/([a-z_0-9-]+).jpg$ script.php?id=$1 [NC,L]
keenbr
Mesaje:44
Marplo, oricare solutie din cele scrise mai sus de tine nu are solutie. Imaginea va putea fi copiata. Merge schimbata calea imaginii cu htaccess. Chiar folosesc solutia asta.
Dar pentru ce vrea razvika solutia ar fi urmatoarea.
1. Ai imaginea. O bagi intr-un div.
2. in css, clasa/id-ul div-ului il modifici dupa cum urmeaza: setezi background: #000 si ii dai opacitate 0% sau ii pui o imagine de 16x16 (exemplu... poti pune orice dimensiune vrei) , format gif (sa fie acceptata transparenta si pe ie6), imaginea gif fiind total transparenta. in css pui imaginea ca background
Posibilitate 2 (mai complicat putin).
1. Preiei cu php dimensiunile imaginii.
2. Faci un div in care pui style="background: url(...) no-repeat; width: $width; height: $height"
3.
a.Iei o imagine gif , transparenta si o maresti cu gd la dimensiunile imaginii tale ($width si $height).
b. faci un div cu proprietate absoluta, dimensiunile imaginii ($width, $height) si ca background, o imagine transparenta sau culoarea negru, transparenta 0%. ori varianta a, ori varianta b... la alegere.
4. Cand vizitatorul site-ului da click dreapta -> view image, apare pagina alba
Dar pentru ce vrea razvika solutia ar fi urmatoarea.
1. Ai imaginea. O bagi intr-un div.
2. in css, clasa/id-ul div-ului il modifici dupa cum urmeaza: setezi background: #000 si ii dai opacitate 0% sau ii pui o imagine de 16x16 (exemplu... poti pune orice dimensiune vrei) , format gif (sa fie acceptata transparenta si pe ie6), imaginea gif fiind total transparenta. in css pui imaginea ca background
Posibilitate 2 (mai complicat putin).
1. Preiei cu php dimensiunile imaginii.
2. Faci un div in care pui style="background: url(...) no-repeat; width: $width; height: $height"
3.
a.Iei o imagine gif , transparenta si o maresti cu gd la dimensiunile imaginii tale ($width si $height).
b. faci un div cu proprietate absoluta, dimensiunile imaginii ($width, $height) si ca background, o imagine transparenta sau culoarea negru, transparenta 0%. ori varianta a, ori varianta b... la alegere.
4. Cand vizitatorul site-ului da click dreapta -> view image, apare pagina alba
razvik
Mesaje:9
In primul rand va multumesc pentru raspunsuri.
Cred ca e una din metodele lui keenbr pentru ca din cate observ imaginea 'falsa' pe care mi-o ofera atunci cand dau view image este ceva de genu "/img/x.gif" deci se potriveste explicatiei tale.
Acum ramane sa vad si daca reusesc sa fac ce ai zis tu, nu sunt vreun invatat sunt incepator, sper sa reusesc. Cea mai simpla metoda mi se pare prima, lucru cu acel css.
Ce am inteles la prima vedere e ca acolo unde trebuie sa pun poza voi folosi class/id-ul div-ul setat in css si e ca si rezolvata treaba.
Oricum totusi am sa revizuiesc cursul CSS scris de marplo.
Revin daca intampin probleme.
Va multumesc
Cred ca e una din metodele lui keenbr pentru ca din cate observ imaginea 'falsa' pe care mi-o ofera atunci cand dau view image este ceva de genu "/img/x.gif" deci se potriveste explicatiei tale.
Acum ramane sa vad si daca reusesc sa fac ce ai zis tu, nu sunt vreun invatat sunt incepator, sper sa reusesc. Cea mai simpla metoda mi se pare prima, lucru cu acel css.
Ce am inteles la prima vedere e ca acolo unde trebuie sa pun poza voi folosi class/id-ul div-ul setat in css si e ca si rezolvata treaba.
Oricum totusi am sa revizuiesc cursul CSS scris de marplo.
Revin daca intampin probleme.
Va multumesc
Totul ti se pare mare atunci cand esti mic :)
MarPlo
Mesaje:4343
Din ce am inteles, si cred ca merge, idee cu CSS e sa adaugi un DIV sub imagine, care sa vina exact peste ea, cu position:absolute;, background:#000;, opacity:0;, width si height aceleasi cu dimensiunile imaginii.
Exemplu:
Asta impiedica copierea prin right-click. Iar partea de ascundere a adresei, cred ca se poate cu mod-rewrite in ".htaccess", poate si PHP.
Cine a mai facut stie mai bine.
Exemplu:
Cod: Selectaţi tot
<div style="position:relative">
<img src="image.jpg" alt="Titlu" width="300" height="200" />
<div style="position:absolute; top:0; background:#000; left:0; margin:0; width:300px; height:200px; filter:alpha(opacity=0); opacity:0;"> </div>
</div>
Cine a mai facut stie mai bine.
keenbr
Mesaje:44
Codul facut de tine merge perfect. Doar ce l-am pus intr-un fisier html.
Pa partea de ascundere a imaginii in sursa, nu cred ca este posibil. Browserul trebuie sa interpreteze imaginea. Ce ar putea face ar fi sa codeze cu base64 codul imaginii apoi cu un cod js sa ii faca decript. Browserul va vedea sursa imaginii pentru ca scriptul js va face decriptare, dar in sursa va apare criptat.
Cu rewrite nu va face mare lucru. in loc de image.php?image=imagine.jpg => /imagine.jpg .. adica daca unu ia din sursa /imagine.jpg (care vine in forma asta din htaccess) si deschide pagina web direct pe imagine, o va putea salva.
Pa partea de ascundere a imaginii in sursa, nu cred ca este posibil. Browserul trebuie sa interpreteze imaginea. Ce ar putea face ar fi sa codeze cu base64 codul imaginii apoi cu un cod js sa ii faca decript. Browserul va vedea sursa imaginii pentru ca scriptul js va face decriptare, dar in sursa va apare criptat.
Cu rewrite nu va face mare lucru. in loc de image.php?image=imagine.jpg => /imagine.jpg .. adica daca unu ia din sursa /imagine.jpg (care vine in forma asta din htaccess) si deschide pagina web direct pe imagine, o va putea salva.
Subiecte similare
- Imagini Slider bootstrap
HTML - XHTML - CSS Salutare,
de curand am cumparat un template de pe teamforest pe care l-am pus pe perlamuntilor.ro ideea e ca ma bate rau bootstrapul asta.
Cum... - Formular de contact cu upload imagini
Scripturi de pe site Primul mesaj
Salutare si la multi ani!Ultimul mesaj
Revin cu o intrebare pentru scriptul formular de contact, de la pagina: marplo.net/php-mysql/formular_contact
Este...
M-am uitat pe codul din formularul de contact.
Am decis sa nu ma complic cu asa multe adaugari si verificari in acel script.