Zapewne wiele z Was prowadzi blogi z recenzjami, wierszami, opowiadaniami itp., założyłam nowy wątek, bo coraz częstsze są kradzieże takich treści. Nie da się przed nimi w 100% obronić, ale istnieje parę sposobów, by takiemu złodziejowi internetowemu życie skomplikować ;)
1.
Zmylenie przeciwnika. Ponad tekstami kursor zmienia się w pionową kreskę - już to zaprasza do zaznaczania i kopiowania. A zatem na początek zmieńmy kursor nad tekstem na typową strzałkę. Załóżmy, że "chronimy" tekst znajdujący się w ramach paragrafu P.
<P STYLE="cursor: default">Udaję, że nie jestem
tekstem.</P>
Nad tym paragrafem kursor pozostanie strzałką. To oczywiście żadne zabezpieczenie, bo tekst nadal można zaznaczyć i skopiować.
2. Spróbujmy zatem utrudnić zaznaczenie tekstu. Wykorzystam w tym celu zdarzenie onselectstart wywoływane w momencie rozpoczynania zaznaczania:
<P STYLE="cursor: default" onselectstart="alert('Tego nie
możesz zaznaczyć');">Udaję, że nie jestem tekstem i nie można mnie
zaznaczyć.</P>
Próba zaznaczenia fragmentu zdania w tym paragrafie zakończy się wyświetleniem okienka z komunikatem. Można jeszcze bardziej zdezorientować przeciwnika nie wyświetlając mu żadnego komunikatu, a jedynie uniemożliwiając zaznaczenie. Taki tekst będzie sprawiał wrażenie grafiki, przy czym nie da się go skopiować czy zapisać tak jak obrazek:
<P STYLE="cursor: default"
onselectstart="window.event.returnValue=false;">Udaję, że nie
jestem tekstem i nie można mnie zaznaczyć.</P>
To jest już całkiem niezłe zabezpieczenie przed kradzieżą fragmentu tekstu, bo przecież czego nie można zaznaczyć, tego nie można skopiować. Nadal jednak można zaznaczyć tak zabezpieczony paragraf jako całość np. rozpoczynając zaznaczenie w poprzednim paragrafie i przeciągając je poprzez zabezpieczony tekst aż do paragrafu następującego po nim. Można też zaznaczyć go razem z całą stroną korzystając z funkcji "Zaznacz wszystko". Jak się przed tym uchronić?
Najprostsze rozwiązanie to wykorzystanie "bąblowania" zdarzenia onselectstart i umieszczenie go w ramach znacznika BODY (bliższe informacje o "bąblowaniu" w artykule "Bąblujące zdarzenia"):
<BODY onselectstart="window.event.returnValue=false;">
Na tak opisanej stronie nie można zaznaczyć tekstu ani jako fragmentu, ani jako całości (bloku). Nie można też zaznaczyć całej strony. Wydaje się to bardzo skuteczne, ale może również utrudnić, czy wręcz uniemożliwić korzystanie ze strony uczciwym użytkownikom - np. wtedy, gdy strona zawierać będzie formularze.