Przejdź do treści

Ochrona strony - Skrypty

Ochrona strony

Czasami zdarza się, że chcemy opublikować w sieci jakieś ważne informacje. Zależy nam jednak, aby można się było z nimi zaznajomić tylko bezpośrednio na naszej stronie WWW i nie chcemy udostępniać takich materiałów do dalszej publikacji innym osobom. Chodzi tutaj głównie o opracowania typu: praca dyplomowa, ważny referat lub obszerny artykuł, unikalna grafika nad którą długo pracowaliśmy czy wyniki badań doświadczalnych. Niestety zwykle jedyną ochroną przed plagiatami jest podanie wyraźnej informacji: "Wszelkie prawa zastrzeżone". Jak wiadomo taki zapis sam w sobie niestety nie może uchronić przed podkradaniem naszej własności intelektualnej.

Istnieją pewne metody utrudniające kradzież materiałów ze strony WWW. Od razu chciałbym wyraźnie podkreślić, że nie są to prawdziwe zabezpieczenia, a tylko pewne przeszkody, mogące zatrzymać raczej osoby początkujące, które jednak stanowią większość wśród użytkowników sieci. Według mnie nie warto w ten sposób zabezpieczać każdej strony internetowej, ponieważ irytuje to tylko internautów, a i tak prawdopodobnie nie zatrzyma osób bardzo zdeterminowanych, znających w jakimś stopniu język HTML i JavaScript. Ponadto większość z zabezpieczeń przedstawionych na tej stronie działa tylko w Internet Explorerze 5.0 lub nowszym. Pewnym pocieszeniem w tej sytuacji może być fakt, że przeglądarka ta zdobyła zdecydowaną większość rynku (nie dyskutując w tej chwili: słusznie czy nie).

Dalej w tym rozdziale znajdziesz wybrane formy blokady niedozwolonych działań na stronie. Oczywiście można je ze sobą łączyć.

UWAGA!
Metody ochrony stron WWW opisane w tym rozdziale w większości przypadków działają tylko w Internet Explorerze 5.0 lub nowszym!

Blokada prawego klawisza myszki

Zabezpiecza przed wybraniem "Pokaż źródło" z menu kontekstowego.

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

Uwaga! Źródło dokumentu nadal będzie można podejrzeć, wybierając odpowiednią opcję z górnego menu przeglądarki. Poza tym nie wszystkie przeglądarki interpretują to polecenie. Częściowo można zlikwidować ten problem, otwierając stronę w nowym oknie bez paska menu. Można również próbować otwierać stronę zawsze w ramkach - wtedy z menu będzie można zobaczyć jedynie źródło "mało ciekawej" strony startowej.

Blokada zaznaczania i kopiowania tekstu

<body onselectstart="return false" onselect="return false" oncopy="return false">
...
</body>

Blokada przeciągania elementów strony

Zabezpieczna m.in. przed przeciąganiem obrazków do innego okna lub programu w celu ich zapisania na dysku.

<body ondragstart="return false" ondrag="return false">
...
</body>

Blokada drukowania

<body onbeforeprint="document.body.style.visibility = 'hidden'; alert('Wydruk jest niedostępny!')" onafterprint="document.body.style.visibility = 'visible'">
...
</body>

Blokada zapisu wybranych zdjęć

<img src="zdjecie.jpg" alt="Tekst alternatywny" onmousedown="return false" oncontextmenu="return false" onselectstart="return false" onselect="return false" oncopy="return false" ondragstart="return false" ondrag="return false">

[Zobacz: Obrazek]

Blokada paska narzędziowego obrazów

Pasek narzędziowy obrazów to zestaw ikon pojawiających się nad dużymi zdjęciami po "najechaniu" myszką (zwykle oba wymiary grafiki - szerokość i wysokość - muszą wynosić co najmniej 200 pikseli), co umożliwia m.in. wydruk lub zapisanie grafiki na dysku (Internet Explorer 6)

  • Dla wszystkich zdjęć na stronie (wstaw w nagłówku dokumentu - <head>...</head> - poniższy kod):
    <meta http-equiv="Imagetoolbar" content="no">
  • Tylko dla wybranych zdjęć:
    <img src="zdjecie.jpg" alt="Tekst alternatywny" galleryimg="no">

Blokada klawisza Print Screen

Klawisza Print Screen umożliwia wykonanie prostego zrzutu ekranu i późniejszego wklejenia do programu graficznego. Należy wstawić do dokumentu specjalny kod w następujący sposób:

<html>
<head>
<script>
var browser = navigator.userAgent;
var ie = 0;
if (browser.indexOf("MSIE") != -1 && browser.indexOf(") ") == -1) ie = parseFloat(browser.substring(browser.indexOf("MSIE")+4));

var id_status_blink = 0;
function status_blink(txt)
{
	window.status = txt;
	if (!txt) id_status_blink = setTimeout('status_blink("KLIKNIJ WEWNĄTRZ OKNA PRZEGLĄDARKI !!!!!")', 250);
	else id_status_blink = setTimeout('status_blink("")', 1500);
	return true;
}

function blur_ie()
{
	document.all["body"].style.visibility = "hidden";
	clipboardData.clearData();
	status_blink("");
}

function focus_ie()
{
	document.all["body"].style.visibility = "visible";
	if (id_status_blink) clearTimeout(id_status_blink);
	window.status = '';
	return true;
}

if (ie >= 5)
{
	window.onblur = blur_ie;
	window.onfocus = focus_ie;
}
</script>
</head>
<body>
<div id="body">

Treść dokumentu

</div>
</body>
</html>

Oczywiście w nagłówku dokumentu mogą - a nawet powinny (!) - znaleźć się również inne znaczniki (<meta>, <title>...</title> itp.). Nie można zapomnieć o deklaracji DTD. Nic nie stoi również na przeszkodzie, aby dodać atrybuty do znacznika BODY, określające np. kolor tekstu i tła strony. Ważne jest jedynie, aby skrypt został wstawiony w ramy dokumentu tak jak pokazano.

Podsumowanie

Niestety takie rozwiązania zwykle nie są idealne i zawsze znajdzie się droga, aby je obejść. Mogą one natomiast utrudnić życie początkującym "hakerom". Powtarzam jeszcze raz: w większości przypadków stosowanie tych poleceń nie ma dużego sensu, ponieważ nie taka jest idea Internetu. Nie widzę większego celu w zabezpieczaniu w ten sposób wszystkich stron zwykłego serwisu. Irytuje to tylko użytkowników, a jeśli ktoś naprawdę będzie chciał podejrzeć źródło dokumentu, skopiować tekst lub zdjęcie, prawdopodobnie i tak znajdzie sposób, żeby to zrobić. A poza tym zastanów się, czy na Twojej stronie rzeczywiście są aż tak tajne dane, że naprawdę nikt nie może mieć do nich dostępu? Jeśli tak, to uzmysłów sobie, że powyższe sposoby stanowią tylko utrudnienie, a nie prawdziwe i pewne zabezpieczenie.

Obszerniejsze artykuły na temat zabezpieczania treści stron WWW znajdziesz w serwisie Cream Software:

★★★★★ 5/5 (22)

Czytaj dalej

Aby kontynuować kurs, przejdź do poprzedniego lub następnego artykułu:

Komentarze

Zobacz więcej komentarzy

Facebook