AddThis Social Bookmark Button

joi, septembrie 27, 2007

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

  • Hotlink este plasarea unui obiect, de cele mai multe ori o imagine, apartinind unui site intr-o pagina web a altui site. Se spune ca al doilea site are un hotlink catre primul site
  • Furt the bandwidth (Bandwidth theft) este folosirea unui hotlink cu care autorul site-ului original nu este de acord si se numeste furt deoarece consuma o resursa platita (bandwidth al serverului original) fara a da inapoi ceea ce se cere.
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:
  • prima linie verifica daca valoarea HTTP Referer incepe cu adresa unui domeniu (cu si fara www) blocat
  • daca da, si daca tipul de fisier este imagine, se rescrie adresa si se inlocuieste cu imaginea de refuz
  • se repeta perechile de linii pentru fiecare domeniu care abuzeaza
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:
  • prima, a doua si eventual mai multe linii in continuare listeaza domeniile care sint acceptate ca referer (cu si fara www)
  • linia a treia permite accesul direct la imagine, atunci cind nu s-a trimis nici un referer, poate fi cazul in care autorul a scris direct in browser adresa imaginii
  • daca toate conditiile de mai sus sint indeplinite, avem un referer care trebuie blocat, deci daca s-a accesat un fisier imagine se rescrie adresa si se inlocuieste cu imaginea de refuz
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.

marți, septembrie 25, 2007

Licente Creative Commons pentru materialele publicate pe web

Orice material publicat pe web, fie el text, imagine, secventa video sau audio apartine implicit autorului sau si este protejat de drepturile de autor/copyright (bineinteles, utilizarea in conditii rezonabile/fair use este permisa).
De multe ori se doreste permiterea unor drepturi suplimentare pentru utilizatori fata de cele prevazute de drepturile de autor,pentru a incuraja distribuirea sau refolosirea ori pentru ca autorul este adept al libertatii culturii si atunci se folosesc licente care garanteaza libertati suplimentare. Cele mai cunoscute licente de acest fel sint licentele creative Commons.

Am constatat ca aceste licente nu sint cunoscute si intelese prea bine in Romania, poate deoarece organiatia non-profit Creative Commons, care a creat aceste licente, nu si-a orientat pina acum campaniile de informare si catre aceasta zona, banuiesc ca asta este explicatia pentru care in repetate rinduri am vazut materiale din acest blog preluate brutal (cuvint cu cuvint, fara creditarea autorului sau link inapoi, ba chiar si cu hotlink pentru imagini). Dupa contactarea celor care au facut preluarea de obicei am intilnit intelegere si deschidere, deci nu ma pot gindi decit la necunoastere.

In mod natural, cred ca o mai buna campanie de informare poate preveni repetarea in viitor a unor asemenea probleme, asa ca voi prezenta in continuare pe scurt principalele licente Creative Commons, licente ce variaza de la libertate aproape totala pina la permisiuni foarte limitate:

  • Creative Commons LicenseAttribution (CC-BY) permite libera folosire si distributie de opere derivate, inclusiv in scopuri comerciale, singura cerinta este atribuirea autorului initial;
  • Creative Commons LicenseAttribution Share Alike (CC-BY-SA) permite folosirea si distribuirea de opere derivate, inclusiv in scopuri comerciale, atita timp cit este mentionat autorul original si opera derivata este publicata sub o licenta identica, ce permite si altora folosirea si distribuirea in aceleasi conditii;
  • Creative Commons LicenseAttribution No Derivative (CC-BY-ND) permite utilizarea si distribuirea, inclusiv in scopuri comerciale, atita timp cit este atribuit autorul original si opera ramine nemodificata
  • Creative Commons LicenseAttribution Noncommercial (CC-BY-NC) permite folosirea si distribuirea de opere derivate numai in scopuri ne-comerciale si cu mentionarea autorului original
  • Creative Commons LicenseAttribution Share Alike Noncommercial (CC-BY-NC-SA) permite folosirea si distribuirea de opere derivate, exclusiv in scopuri ne-comerciale, doar cu mentionarea autorului original si numai sub o licenta identica, ce permite si altora folosirea si distribuirea in aceleasi conditii;

  • Creative Commons LicenseAttribution No Derivative Noncommercial (CC-BY-NC-ND) permite folosirea si distribuirea numai cu mentionarea autorului original si numai a operei nemodificate si numai in scopuri ne-comerciale;
  • Public Domain DedicationPublic Domain (PD) dedicatia catre Domeniul Public nu este de fapt o licenta, este renuntarea totala asupra oricaror drepturi (in masura in care legislatia locala permite) si neimpunea nici unei restrictii de utilizare sau distribuire, nici macar a mentionarii autorului original. Tot Domeniu Public sint operele foarte vechi, asupra carora nu mai are nimeni dreptur de autor, cum ar fi povestile lui Ion Creanga.

Spre exemplificare, acest blog este publicat sub versiunea 3.0 a licentei Creative Commons Attribution-Share Alike, ce permite distribuirea si crearea de opere derivate atita timp cit este mentionata sursa intiala (se prefea un link, dar acesta nu e obligatoriu) si cu pastrarea conditiilor de licentiere (daca un articol este preluat pe un alt site, e suficient ca pagina preluata sa fie sub licenta CC-BY-SA, nu intregul site).

Creative Commons pune la dispozitie un formular cu care se poate alege cu usurinta licenta optima, acesta din pacate nu este disponibil si in limba romana.

vineri, septembrie 21, 2007

Jocuri pe web - KnigtFight online RPG

E vineri, aproape week-end, asa ca jocurile pe web, un subiect ceva mai relaxat nu este cu totul nepotrivit.

Exista o multime de jocuri care se pot pune intr-o pagina web, cum ar fi joculetele facute in Flash, Java sau JavaScript+HTML, dar acestea nu sint cu adevarat jocuri web, in general pot fi descarcate si folosite offline, intr-un player. Dar exista si jocuri despre care se poate spune ca ruleaza cu adevarat pe web, intr-o arhitectura client-server si sint destul de multe si variate si unele exista de citiva ani buni: managere sportive, simulatoare economice, strategii si altele.

De vreo doua zile am descoperit un asemenea joc: KnigtFight, un RPG online, si inca mi se pare interesant.

KnightFight


KnightFightKnightFight are cam tot ce poti astepta de la un RPG: crearea unui caracter, abilitati care cresc odata cu experienta, arme si armuri, lupte, prada, misiuni, clanuri.

Un punct forte al jocului este ca iti ocupa atita timp din zi cit vrei tu: il poti lasa uitarii zile de-a rindul, poti juca numai citeva minute pe zi sau iti poti umple toata ziua cu el, iar un alt punct forte este posibiltatea de a-l juca in mod "asincron", in timp ce faci altceva: sortezi mailul, citesti noutatile pe web sau postezi ceva pe blog.

Nu stiu daca o sa ma tina mult frenezia, dar deocamdata pe mine m-a captivat.

Daca am trezit interesul cuiva interesul se poate inscrie folosind referinta mea (sau pur si simplu trecind nicubunu ca prieten care a recomandat), nu e nimic de pierdut in faptul ca imi creste mie putin rangul.

marți, septembrie 18, 2007

Actualizare Google Webmasters Tools

Foarte multi webmasteri folosesc Google Webmasters Tools pentru a afla tot felul de informatii despre cum site-urile lor sint indexate de Google, pentru a corecta erori sau a imbunatati interactiunea cu motorul de cautare.
Am intrat in contul meu dupa citeva zile si am constatat ca la sfirsitul saptaminii trecute interfata a fost actualizata si imbunatatita, chiar au fost adaugate si citeva functii noi (si interfata in limba romana, pentru cei care apreciaza asa ceva):

google webmasters tools screenshot

Mai multe informatii sint disponnibile pe blogul oficial.

joi, septembrie 13, 2007

Butoane si bannere web, dimensiuni - exemplu: Fedora

Un lucru foarte important este ca atunci cind afisati pe o pagina web bannere sau butoane sa respectati dimensiunile standard, astfel incit daca un utilizator nu doreste sa vada asemenea tipuri de imagini sa le poata bloca foarte usor pe baza dimensiunii.

Iata si citeva dimensiuni uzuale:

  • Bannere orizontale: 468x60, 600x120
  • Bannere verticale: 120x240, 120x600
  • Bannere centrale: 125x125, 300x250
  • Butoane: 36x13, 80x15, 88x31, 110x32, 120x60, 125x50, 180x60

Pentru a inviora putin atmosfera, iata si citeva bannere si butoane in cele mai uzuale dimensiuni destinate promovarii Fedora:
  • bannere 468x60:
    banner

    banner

  • banner

  • butoane 88x31, 110x32, 120x60:
    button button button

miercuri, septembrie 12, 2007

Scurte tutoriale video despre GIMP

Am vorbit mai de mult despre cum se face un screencast folosind unelte libere si formate libere dar pina acum nu am pus la vedere nici un screencast util. A venit azi momentul pentru doua scurte tutoriale video despre imbunatatirea fotografiilor, sint scurte dar ar putea fi inglobate ca pasi succesivi dintr-un tutorial complex.

Corectarea defectelor pielii cu GIMP 2.4
Se foloseste Healing Tool, se seteaza zona sursa cu tasta Ctrl apasata si apoi se deseneaza peste zona destinatie.



Albirea dintilor cu GIMP
Se selecteaza dintii cu lasoul (bifind feather edges) si apoi se scade saturatia.



nota: scuze pentru Flash

Actualizare: mai multe tutoriale video intr-un articol ulterior.

Actualizare: Acum exista si un ghid extensiv in format HTML.

vineri, septembrie 07, 2007

Text 3D in Inkscape

Asa cum am promis intr-un post anterior, iata traducerea, adaptarea si completarea tutorialului despre text 3D in Inkscape folosind Blur, in care se creaza un logo in stilul celui folosit de Google.

text 3D

Tor

De principiu asta este o poveste atit de banala incit nici nu ar merita spusa: un mail malitos soseste, continutul e scris cu grija incit trece atit de filtrul anti-spam din Thunderbird cit si de SpamAssassin, dar totusi Thunderbird il clasifica in mod corect ca scam pentru ca este compus folosind HTML si include un link cu text diferit fata de adresa:

[screenshot]


Totusi dincolo de partea de inselaciune, exista si ceva remarcabil in acest scam: Tor (The Onion Ring) este foarta util pentru protejarea anonimitatii pe internet, chiar si eu il folosesc atunci cind este cazul, este sponsorizat de Electronic Frontier Foundation, publicat ca FOSS si este o unealta de incredere, sint revoltat de autorii de malware care il pot discredita in asemenea fel, dar la ce altceva te poti astepta de la niste escroci?
tor

joi, septembrie 06, 2007

Google Reader si widget-uri

Google Reader este o unealta utila pentru citit bloguri sau orice alte pagini care folosesc RSS, dar pe linga asta poate face mult mai multe, o functie utila a sa este furnizarea unui widget (o bucata de cod JavaScript) care poate fi incapsulata in orice pagina web pentru a publica titlurile furnizate printr-un feed RSS (de exemplu de catre un blog, dar se pot face selectii dupa etichete, se pot grupa mai multe surse de stiri etc).

Am folosit cu incredere widget-urile furnizate de Google Reader pentru a sindicaliza diverse bloguri, inclusiv cel de fata, in multe locuri si am fost multumit de felul in care functioneaza. Pina acum citeva ore, cind am observat ca nu mai merge... Am investigat putin si am identificat problema:

[screenshot]

A fost modificat pur si simplu numele scriptului din "publisher.js" in "publisher-en.js", probabil cu buna intentie, pentru a permite internationalizarea. Dar eu cred ca cei de la Google au judecat gresit pentru ca au afectat utilizatorii care deja foloseau codul de ceva vreme, ar fi trebuit dupa introdcerea versiunilor localizate sa lase si vechea versiune, legata, sa zicem, de cea in engleza.

In concluzie: atentie, daca folositi in paginile voastre widget-ul exportat de Google Reader s-ar putea sa fie nevoie sa faceti o mica actualizare.

AMD/ATI si Linux

Desi este oarecum offtopic in coontextul general al acestui blog, noutatile de la AMD despre drivere pentru Linux mi se par atit de importante incit trebuie sa vorbesc despre ele.
De multa vreme, peste un an, am tot aminat un upgrade major al calculatorului de acasa, cind vremea acestui upgrade va veni, aproape sigur voi rupe lunga traditie de a folosi placi video Nvidia si voi opta pentru o placa AMD/ATI, care va acompania procesorul AMD (AMD este de multa vreme optiunea mea pentru procesoare).
Ba chiar mai mult, s-ar putea sa imi schimb putin si optica in ceea ce priveste laptopurile.

miercuri, septembrie 05, 2007

Globuri de cristal cu Inkscape

[orb]Nu e vorba de un totorial nou, ci de unul mai vechi publicat cu luni in urma in limba engleza in Red Hat Magazine care intre timp a devenit liber si a putut fi tradus si republicat, deci Globuri de cristal in Inkscape folosind blur.

Nota: traducerea cuprinde numai partea despre globuri, cea cu text 3D va fi probabil adaptata si completata in viitorul apropiat.

Actualizare: continuarea articolului este acum disponibila.