JavaScript: O zabezpieczeniach, których nie ma

Autor: Michał Szymczyk, dodano: 26-07-2003
Kategoria: Programowanie i tworzenie

Umieszczając informacje i różne materiały na stronach internetowych, musimy wziąć pod uwagę fakt, iż zostaną one opublikowane całemu światu. Tzn. każdy użytkownik sieci będzie miał możliwość przeczytania i wykorzystania materiałów.

Niektórym spodobają się one tak, że zapragną je umieścić w swoim własnym serwisie lub wykorzystania ich do celów komercyjnych. W sumie nic w tym dziwnego. Sęk w tym, że niektórzy nie zawsze proszą o zgodę autora, łamiąc w ten sposób prawa autorskie.

Rodzi się w ten sposób pytanie, jak zabezpieczyć materiały na stronach www, aby osoba niepowołana ich nie mogła skopiować. Odpowiedź jest dosyć lakoniczna: nie ma skutecznego zabezpieczenia. Można co najwyżej utrudnić skopiowanie ich, jednak osoba jako-tako znająca się na tworzeniu stron www już może pobrać te materiały. Zasada jest taka: jeżeli użytkownik widzi coś na stronie, to może to coś skopiować. Najskuteczniejszym sposobem w takiej sytuacji jest umieszczenie informacji tak, żeby osoba niepowołana nie mogła ich zobaczyć; aby były one dostępne np. dopiero po użyciu specjalnego klucza (czyli kodu), wykupionego wcześniej u autora. Jednak nawet wtedy osoba legalnie oglądająca materiały może je rozpowszechnić... Jak widać, nie ma skutecznego zabezpieczenia. Ale jak wcześniej wspomniałem, można trochę uprzykrzyć życie początkującym internautom...

Na czym to polega? Możemy wyłączyć menu kontekstowe, które pojawia się po kliknięciu prawym przyciskiem na stronie, możemy zablokować zaznaczanie tekstu lub spowodować, że prawy przycisk będzie nieaktywny. Użyjemy do tego skryptów JavaScript. Dodam jeszcze, ze skrypty te działają tylko pod przeglądarką MS Internet Explorer. A więc... Najpierw zajmiemy się kopiowaniem tekstu. Aby zablokować możliwość zaznaczania tekstu, posłużymy się zdarzeniem onselectstart, które "podpinamy" do znacznika

<body></body>

:

<body onselectstart="return false;">...



Na stronie nie będziemy mieli możliwości zaznaczenia tekstu - nie będzie można go również skopiować. Jeżeli już nie można zaznaczać tekstu, to w sumie po co użytkownikowi menu kontekstowe? Je też można wyłączyć; wystarczy wpisać:

<body oncontextmenu="return false;">...



Oczywiście obejście tych skryptów jest dziecinnie proste - wystarczy, że przeglądarka nie obsługuje JavaScript, lub ma tę obsługę wyłączoną. Poza tym zawsze można zerknąć do źródła strony i tam zobaczyć co chcemy. Skrypt ten tak naprawdę niczego nie chroni, jedynie przeszkadza użytkownikom. Ktoś się może zapytać: to po co o tym piszesz? Bo sami chcieliście - są to dosyć częste pytania na różnych forach. Ale powtarzam: nie stosujcie na siłę tych skryptów. Warto jednak wiedzieć, jakie możliwości daje JavaScript. Na koniec przytoczę jeszcze skrypt JavaScript, całkowicie blokujący prawy przycisk myszy. Skrypt działa pod przeglądarkami MS Internet Explorer i Netscape/Mozila. Oto on: tutaj znajdziesz stronę z zastosowaniem skryptu:

<script language="JavaScript" type="text/javascript"><!--
var oo = "Zakaz kopiowania!";
function click(e) {
if (document.all) {
           if (event.button == 2) {
            window.alert(oo);
            return false;
        }
}
if (document.layers) {
            if (e.which == 3) {
            window.alert(oo);
            return false;
        }
}
}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
}
document.onmousedown = click;
//--></script>
Ocena 2.5/5 (50.05%) (404 głosów)

Komentarze:

  • Jak sie nie da, jak sie da!
    Dodał: Gość data: 2010-01-30
    Działa tylko w MS Internet Explorer i Netscape/Mozilla!

    Tutaj mamy jaki¶ tekst.
    W sumie nieważne jaki.
    Ważne, że go nie można skopiować :)

    Poniższej grafiki też się nie da skopiować...

    <img src="image/logo.jpg" border="1"/>
    A zdjęcie jakoś nie chce działać!


Dodaj komentarz:


Temat:
Twój nick:
Komentarz:
 

Prosimy o kulturę wypowiedzi. Komentarze zawierające niecenzuralne zwroty, bądź obrażające inne osoby będą usuwane. Kod HTML w wypowiedziach jest niedozwolony. Wydawca nie odpowiada za treść komentarzy.