Navigare: sectiune | design web | ghiduri grafica | demotivationale | jocuri | povesti | culinar | corespondenta | contact | home

Blocare referer pentru impiedicarea furtului de bandwidth - rescriere din .htaccess

Am vorbit recent despre licentele Creative Commons, care permit libera distributie pe net, dar care, in functie de licenta specifica, impun si citeva restrictii, cum ar fi mentionarea autorului original sau pastrarea unei licente libere. Acum voi trece la pasul urmator: ce se poate face daca cineva incalca chiar si generozitatea licentelor Creative Commons, ba chiar mai mult, fura bandwidth folosind hotlinking.

Definitii

Ce este de facut in asemenea situatii? Se contacteaza "hotul", i se explica incalcarea licentei si se cere intrarea in normalitate. Daca acesta nu raspunde, se pot lua fie masuri legale, fie masuri tehnice. Masurile tehnice sint cele pe care le vom discuta in continuare.

In antetul (headerul) cererii HTTP pentru un obiect (in cazul nostru cel catre care se face hotlink) printre alte informatii se gaseste HTTP Referer, adresa pagini de referinta care cere incarcarea obiectului. In functie de aceasta informatie putem verifica daca este o pagina legitima si permite accesul sau daca nu si tunci imaginea este blocata. Vom merge chiar mai departe, si vor rescrie adresa, pentru a servi "hotului" o imagine jignitoare, care sa il dea de gol. O asemenea imagine trebuie sa aiba o dimensiune de fisier cit mai mica, cum ar fi urmatoarea:
hot bandwidth

Nota: informatia oferita de HTTP Referer nu este infailibila, ea poate fi blocata sau falsificata de catre utilizatori, dar este cea mai buna informatie pe care ne putem baza.

Si pentru a face situatia si mai complicata, vom bloca numai unii refereri, pe altii ii vom permite, vom bloca doar accesul la fisiere de tip imagine iar blocarea se va face la nivel de director, deci incluzind directive intr-un fisier .htaccess.

Blacklisting

Aceasta este metoda mea preferata: public material licentiat Creative Commons Attribution Share Alike si vreau sa presupun ca utilizatorii sint de buna credinta, asa ca permit accesul tuturor, iar apoi interzic raufacatorii.

Fisierul .htaccess primeste urmatorul continut:
RewriteEngine On RewriteCond %{HTTP_REFERER} ^http://(www\.)?siteblocat1\.com [NC] RewriteRule \.(jpe?g|gif|bmp|png)$ hotbandwidth.png [L] RewriteCond %{HTTP_REFERER} ^http://(www\.)?siteblocat2\.com [NC] RewriteRule \.(jpe?g|gif|bmp|png)$ hotbandwidth.png [L]

Explicatie:

Whitelisting

Este o metoda mai stricta: interzice accesul tuturor si permite doar accesul daca HTTP Referer vine dintr-o lista admisa.

Iata continutul din .htaccess:
RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(www\.)?sitepermis1\.com [NC] RewriteCond %{HTTP_REFERER} !^http://(www\.)?sitepermis2\.com [NC] RewriteCond %{HTTP_REFERER} !^$ RewriteRule \.(jpe?g|gif|bmp|png)$ hotbandwidth.png [L]

Explicatie:

Evident ca totusi ar fi de preferat sa nu fie nevoie sa folosim aceste masuri, dar in caz ca nevoia apare, exista mijloace de actiune.

Creative Commons License
Aceasta lucrare este licentiata sub Creative Commons Attribution 2.5 License.
bau bau - © 2007 Bau Bau care a luat-o razna | De citit despre Ioana