Demistificarea unei iluzii de securitate pe web: dezactivarea meniului contextual (click dreapta in pagina)
Introducere
Creatorii de pagini web vind o multime de iluzii (sau gogosi, pentru cine prefera o asemenea exprimare) clientilor, incercind sa le ofere o falsa senzatie de securitate. Un bun exemplu ar fi protectia fisierelor imagine impotriva copierii, caz in care adevarul este ca o asemenea protectie este
imposibila, asa cum voi demonstra in continuare.
In plus, am convingerea ca este si
inutila, incercind sa restricioneze drepturi permise de
Legea Drepturilor de Autor, in articole cum ar fi 33 litera a) si 35 litera b).
In aceeasi nota legala, cele prezentate in acest articol
nu pot fi considerate o circumventie a metodelor de control ale accesului la opere protejate prin drepturile de autor intrucit 1. metodele de control nu sint
efective (cerinta a DMCA), 2. se refera la citirea unor fisiere
neprotejate aflate in calculatorul utilizatorului si 3. din fericire Romania nu este
inca o tara fascista in care sa functioneze DMCA.
Nu in ultimul rind, solutiile prezentate in acest articol se refera
exclusiv la utilizarea
Firefox, intrucit autorul nu este interesat in functionalitatile unor alte platforme, probabil ca Internet Explorer ofera metode similare.
Dezactivarea meniului contextual
Cei care incearca dezactivarea meniului contextual isi doresc de fapt interzicerea accesului la functia
Save Image As prezenta in acest meniu, functie care permite utilizatorului copierea instantanee a fisierului imagine.
Dezactivarea meniului contextual se realizeaza practic prin includerea in codul paginii HTML a unei functii JavaScript care fie nu produce nici un efect vizibil in afara dezactivarii meniului fie afisaza o fereastra de dialog in care comunica indisponibilitatea functiei.
Re-activarea meniului contextual
Vom evalua in continuare citeva metode
simple de a reactiva acest meniu, care poate fi util in diverse cazuri.
Functii incluse in Firefox
Firefox este un browser indragit de utilizatorii sai pentru ca le reda acestora controlul asupra modului in care interactioneaza cu internetul, de exemplu restricitionind modurile in care codul
JavaScript le poate afecta navigarea.
Folosind Tools->Options->Content->Advanced in versiunea pentru Windows sau Edit->Preferences->Content->Advanced in versiunea pentru Linux se poate dezactiva optiunea
Disable or replace context menus, care in cele mai multe cazuri va fi suficienta pentru a rezolva problema.
Aceasta metoda nu este infailibila, este facuta pentru a preveni cele mai dele abuzari dar pentru a lasa functionale unele cazuri legitime.
Exista un numar de extensii pentru Firefox care permit fie extinderea controlului asupra optiunilor fie contracararea unor metode mai avansate de a bloca meniul contextual.
In exemplu de fata, folosit de site-ul
OpenArt.ro o simpla dezactivare a optiunii mentionate nu este suficienta, dar fara a instala nici o extensie utilizatorul poate bloca temporar JavaScript, total si brutal (Tools->Options->Content, respectiv Edit->Preferences->Content) pe durata salvarii imaginii.
Exista chiar extensii care asigura o caseta de bifare plasata convenabil in bara de unelte pentru accesare facila.
Informatii despre pagina (Page Info)
O alta unealta pusa la dispozitie de Firefox se gaseste in meniul Options->Page Info->Media si este o fereastra de dialog care ofera o lista a tuturor obiectelor multimedia incluse in pagina.
Aici se poate selecta imaginea dorita si folosi butonul
Save As.
Copie temporara (Cache)
Pentru o incarcare mai rapida
orice browser salveaza temporar fisierele in cache, astfel ca la o urmatoare incarcare sa fie luate de acolo si nu descarcate inca o data de pe internet.
In mod evident, imaginea poate fi extrasa direct de acolo
Locatia directorului de cache este de obicei
/home/username/.mozilla/firefox/textaleatoriu/Cache pentru Linux si
C:\Documents and Settings\username\Application Data\Mozilla\Firefox\Profiles\textaleatoriu\Cache pentru Windows.
Un dezavantaj minor in cazul Windows ar putea fi ca acesta nu identifica corect pentru previzualizare fisierele fara extensie.
Salvare Pagina
Functia de salvare a paginii, File->Save As nu poate fi dezactivata prin nici o metoda, iar o salvare in Firefox salveaza toate obiectele din pagina, inclusiv imaginile.
Alte metode
Bineinteles ca orice e afisat pe ecran poate fi copiat, fie ca vorbim despre folosirea tastei
Print Screen, fie ca vorbit despre tiparirea la imprimanta a paginii sau, de ce nu, fotografierea monitorului cu o camera digitala. Chiar si metode de protectie considerate mai avansate, cum ar fi afisarea imaginilor prin intermediul unor obiecte
Flash sau
Java nu au nici o sanda impotriva tastei
Print Screen.
Se mai poate inspecta codul html si urmari link-urile catre imagini, descarca pagina folosind
wget sau analiza continutul cu extensii avansate ale Firefox cum ar fi
Firebug sau
DOM Inspector.
Erori de implementare
Pe linga adevarul ca metodele de protectie sint departe de a fi infailibile, o serie de erori de implementare viciaza si mai mult falsa protectie. In exemplul de fata, la site-ul
OpenArt.ro, e suficient ca utilizatorul sa traga cu mouse-ul (drag and drop) o imagine in alt tab al Firefox si are acces direct la aceasta, inclusiv Save As.
Stupiditate
Pe linga stupiditatea de a vinde clientilor solutii iluzorii (
snake oil), se intimpla ca cei care propun asemenea solutii sa dea dovada de pura stupiditate. In exeplul folosit,
OpenArt.ro, se protejaza cu JavaScript imaginile din HTML dar nu si lista de directoare a serverului Apache, asa ca oricine poate accesa orice.
Competenta la cel mai inalt nivel!
Concluzie
Dupa parerea mea, oferirea unor solutii false implementate in mod gresit se consituie ca o puternica recomandare
impotriva ofertantilor, asa ca aveti grija de la cine cumparati servicii de design web.
Nota: Acest eseu a fost scris in
mai 2007, deci daca la data citirii sale site-ul folosit ca exemplu nu mai functioneaza ca in descriere este posibil ca autorii lui sa il fi actualizat, de ce nu, poate si influentati de acest material.