Jak funguje Internet (web)?
Nejdříve znázornění, jak vlastně funguje zobrazování webových stránek:
1. Návštěvník zadá adresu do webového prohlížeče. Počítač podle adresy nalezne webový server a kontaktuje ho s požadavkem na příslušnou stránku.
2. Na webovém serveru jsou uloženy soubory (stránky, obrázky, atd.) Server vezme soubory odpovídající příslušné stránce (kód stránky, obrázky, Javascript, kaskádové styly, ...) a odešle je do návštěvníkova počítače.
3. Návštěvníkův počítač přijme soubory ze serveru, určitým způsobem je zpracuje (například podle HTML značek sestaví stránku, aplikuje kaskádové styly, a podobně) a výsledek zobrazí návštěvníkovi.
Všimněte si, že kód stránky, obrázky a další soubory ze serveru se nejdříve zkopírují do počítače návštěvníka a až ten z nich sestaví výslednou stránku. Počítač návštěvníka tedy už ze samotného principu fungování webových stránek musí dostat zdrojové soubory. A jakmile tyto soubory jako správce webu návštěvníkovi pošlete, už těžko můžete mít kontrolu nad tím, co s nimi návštěvník udělá. Z toho vyplývá, že už z principu nelze zabránit tomu, aby se návštěvník dostal ke zdrojovým souborům webu. Jediné, co udělat jde, je návštěvníkovi ztížit možnost se k obsahu dostat, případně obsah co nejvíce znečitelnit.
Techniky omezování návštěvníků a obcházení těchto technik
Existují různé metody, více či méně účinné a více či méně otravné. Podívejme se na některé z nich, jejich výhody a nevýhody a možnosti jejich obejití.
Zakázání pravého tlačítka
Zakázání pravého tlačítka myši má obvykle zabránit návštěvníkům manipulovat s obrázkem přes kontextové menu. Dělá se to Javascriptem, zhruba něčím takovýmto:
onmousedown="if((event.button == 2)||(event.button==3)) alert('Pravé tlačítko myši je blokováno!')".
Takový skript skutečně může některé nezkušené návštěvníky odradit. Potíž ale je, že takovým návštěvníkům se zablokuje celé kontextové menu, včetně funkcí, které webmasterovi nevadí a pro návštěvníka jsou užitečné. V kontextovém menu je například položka pro obnovení stránky, tisk, tlačítka vpřed a zpět, přidání stránky mezi oblíbené, a další. Někteří návštěvníci mohou být zvyklí ovládat stránky pomocí kontextové nabídky. Navíc se v moderních prohlížečích objevuje nastavení, které znemožní skriptu ovládat událost kliknutí pravým tlačítkem (například v Opeře tuto volbu najdete: F12 nebo kontextové menu stránky, Editovat místní nastavení, Skriptování, Povolit skriptu přijímat klepnutí pravým tlačítkem myši). A právě z důvodu různých "otravných" stránek mnoho lidí má takovouto volbu zapnutou. Je tedy otázka, jestli takový skript nakonec nebude jen otravovat nezkušené "slušné" uživatele, kteří si ani žádný obrázek stáhnout nechtěli.
Přenastavení prohlížeče
Tímto míním stránky, které se snaží vypínat pokud možno všechny nabídky prohlížeče, skrývat adresový řádek a navíc třeba blokovat pravé tlačítko. Cílem je odstřihnout návštěvníka od možností jeho webového prohlížeče. Tato technika má dvě omezení: Alespoň podle mého názoru neskutečně prudí podstatnou část uživatelů a za druhé obvykle funguje jen v IE6 a starších. V prohlížečích používajících listy/záložky (Opera, Firefox, IE7) je navíc hlavní nabídka obvykle společná pro všechny otevřené stránky a jednotlivá stránka ji nemůže skrýt. Navíc moderní prohlížeče obvykle umožňují návštěvníkovi stránkou skryté nabídky či panely opět zapnout. Podle mého názoru je tedy tato volba už spíše záležitost minulosti.
Obsah ve speciální aplikaci (Flash)
Další využívanou možností, zejména pro skrytí obrázků, je místo na webové stránce obsah zobrazovat v prohlížeči přes zásuvný modul, typicky to bývá Flash. Toto je poměrně účinná technika, protože na rozdíl od kódu webové stránky kód Flashového objektu není tak snadno čitelný. Nicméně ani Flash nezabrání návštěvníkovi v primitivní, ale účinné, metodě uložení obrázku: použití tlačítka Print Screen. Flash navíc vyžaduje zásuvný modul, takže někteří návštěvníci, a hlavně vyhledávače, se k obsahu uvnitř Flashe
Obrázek na pozadí
Jedna relativně použitelná a přitom bezpečná technika je nezobrazovat "chráněný" prvek přímo v prvku obrázek, ale jako obrázek na pozadí. Například místo <img src="obrazek.jpg"> se použije: <div style="background-image: url('obrazek.jpg'); width: 640px; height: 480px;"></div> (výška a šířka prvku musí odpovídat rozměrům obrázku). U obrázku na pozadí nejsou k dispozici běžné možnosti prohlížeče k uložení obrázku. Odradí to ovšem spíše začátečníky, pokud bude návštěvník znalejší, zjistí si přímo adresu obrázku z kódu stránky. A pokud sice nebude znalejší, ale bude o obrázek skutečně stát, zeptá se někoho zkušenějšího.
Obfuskátory a "šifrování" kódu stránky
Technika využívaná pro znečitelnění zdrojového kódu stránky je využití zvláštního programu či skriptu, tzv. obfuskátoru, který kód stránky převede obvykle do Javascriptu a zašifruje a při zobrazení stránky ho další funce opět rozšifruje. I tato metoda má ovšem slabiny: potřeba kód zpracovávat Javascriptem zatěžuje počítač návštěvníka a zpomaluje načítání stránky. Navíc návštěvníci bez podpory Javascriptu, kam patří i vyhledávače, si stránku nepřečtou.
Jaká je skutečně bezpečná a neprůstřelná metoda?
Pokud doopravdy nechcete, aby si někdo Váš text nebo obrázek zkopíroval k sobě do počítače, je rada prostá: nedávejte ho na Internet. (doplněno 8.12.2007) Ano, tomu se říká dobrá rada nad zlato, nicméně znáte hru Hospoda Na Mýtince? Dědeček vždycky toužil mít hospodu, ale chodili mu tam lidi. Pokud nechcete, aby si Vaše texty či obrázky někdo prohlížel, proč je dáváte na web?
Ochrana vs. otravování
Představte si obchod, kde by při odchodu každého zákazníka prohledali, jestli něco neukradl. Pravděpodobně by to bylo velmi efektivní opatření, jak omezit krádeže. Proč to tedy nikdo tak nedělá? To je prosté- kdo by do takového obchodu chodil nakupovat? Zákazníci jsou pro obchod to hlavní. Stejnětak webové stránky se většinou dělají pro návštěvníky. Je až s podivem, jak jsou některé weby ochotné investovat peníze do reklamy, do různých optimalizací a na druhé straně návštěvníky vyhánět. Návštěvníku, nemáš ten správný prohlížeč, táhni odkud jsi přišel. Návštěvníku, nemáš Flash plugin, nainstaluj si ho a potom se vrať. A tak dále, a tak podobně. Vždy je třeba zhodnotit, zda použití nějaké techniky neomezí přístupnost webu, případně o kolik návštěvníků web přijde a jestli přínosy opravdu za to stojí.
Setkal jsem se například i s tím, že stránky na jednom webu se nedaly rozumně vytisknout. Poradil jsem autorovi, aby udělal zvláštní stylopis pro tisk, že to na tiskárně vypadá hrozně. Odpovědí bylo, že on ale nechce, aby si jeho stránky někdo tisknul, ať se na ně podívá na webu, alespoň bude víc návštěvníků. Otázkou ale je, jestli se ti návštěvníci nakonec nepřesunou někam, kde jim nabídnou více komfortu.
Takže moje stránky může kdokoliv zkopírovat a já se nemůžu bránit?
To zase ne. Na straně autora stránek (obsahu, kódu i grafiky) je autorské právo. Psát někomu, kdo mi okopíroval stránky, že je to nelegální a že má daný obsah stáhnout se může zdát jako zcela beznadějné mrhání časem, ovšem z mé zkušenosti to tak většinou není. Překvapivě mnoho lidí nemá pojem o autorských právech a pokud je někdo upozorní, že dělají něco nelegálního, často obsah sami stáhnou. A pokud ho nestáhne samotný autor, obvykle se dá mluvit s někým "o úroveň výše" (provozovatel serveru, apod.) Navíc případy kopírování nebývají zas tak časté, moho lidí má představu, že si celý Internet bude chtít zkopírovat jejich nový design, ve skutečnosti se ale většinou jedná o několik málo jedinců, pokud vůbec někdo. Pak je skutečně otázka, jestli se vyplatí ušetřit si psaní "výhrůžných mailů" třeba třem, čtyřem lidem za cenu toho, že web přijde třeba o 5% návštěvníků.