Wuwejův zápisník

Nástroje pro web - ochrana dat

20.05.2007 14:35, Wu | počítače | komentáře -

Internet je otevřené prostředí a musíte počítat s tím, že cokoliv na něm zveřejníte, může být velmi snadno ukradeno. Třeba obsah webových stránek. Napíšete odborný článek; pečlivě zkoušíte popisovaný produkt, snímáte obrazovky, dáváte dohromady formulace, hrdě vyvěsíte na svoje stránky - a pak najednou přijde nějaký vykuk, celý text i s obrázky stáhne, podepíše svým jménem a dá na svůj web. V lepším případě se o ukradeném textu dozvíte, napíšete majiteli stránek nebo webhostingu a po zdlouhavých perieptiích se domůžete nápravy. V horším případě jeho stránky vůbec neobjevíte.

Abyste takové situaci alespoň trochu předcházeli, můžete využít nástroje Copyscape. Služba zdarma umožňuje k zadané adrese vyhledat všechny stránky s podobným textem (s nějakými shodnými fragmenty, funguje to docela dobře). V placené verzi nabízí třeba vyhledání jakéhokoliv textu, nejen stránky, nebo trvalý monitoring celého webu.

To by byl text, ale máme tu ještě obrázky. O ně můžete být obíráni dvěma způsoby. První je hloupý, druhý zákeřný, oba nepříjemné.

Hloupý způsob je přímé zalinkování obrázku, tj. v tagu img se jako src uvede celá url adresa vašeho obrázku. Hloupý je, protože ve statistikách na vašem serveru začnou figurovat požadavky z cizí stránky (s každým požadavkem posílá prohlížeč referer, tedy adresu stránky, ze které požadavek vzešel), aniž by byla zobrazena stránka vaše. Podle toho krádež poznáte a hned víte, kam se podívat nebo kam psát. Kromě toho, že někdo používá váš výtvor bez dovolení, vám navíc generuje provoz na vašem serveru, říká se tomu bandwidth stealing. Pokud máte omezené množství dat, které smí být měsíčně ze serveru staženo (a to ve většině případů máte), přicházíte o jeho část, stejně jako o část výkonu.

Tomu jde zajímavým způsobem zabránit, server se nastaví tak, aby obrázek poslal prohlížeči jen tehdy, pokud je použit na stránce ze stejného serveru. Viděl jsem to v praxi na bloguje.cz (tam dokonce vrací obrázek s informačním textem o neoprávněném použití), ale přece se nebudu ptát, když si to můžu mnohahodinovým hledáním zjistit sám, že?

Princip je založený na refereru a schopnosti konfigurovat webový server Apache lokálně pomocí .htaccess souboru (to musí váš poskytovatel hostingu podporovat). Pomocí direktiv se apačovi nařídí, aby v případě, že referer neodpovídá serveru, požadavek odmítl. Přesný návod je zde (Apache tutorial), ukázka .htaccess tady:

SetEnvIfNoCase Referer "^http://blog\.wuwej\.net/" local_ref=1
<FilesMatch "\.(gif|jpg)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>

Soubor se nahraje do adresáře s chráněnými obrázky a mělo by to začít fungovat.

Samozřejmě nic není stoprocentní; referer lze zfalšovat, obrázek je možné zobrazit návštěvou stránek a pak najít v odkládací paměti prohlížeče, což obojí nahrává zákeřnému způsobu - zkopírování obrázku a použití ve vlastních stránkách. O tom se dozvíte jen náhodou a nějakou obdobu copyscape pro obrázky jsem zatím neviděl. Jediná pomoc je vodotisk. Jak můžete vidět i tady, musel jsem po nich sáhnout, protože počet webů linkujících moje obrázky už přesáhl únosnou míru.

Obrázek se dá zprznit vodotiskem na několik způsobů.

Asi nejšetrnější je neviditelný vodotisk - třeba změna některých pixelů tak, že teprve při použití speciálního prohlížeče vodotisk objeví (popis, en). Jenže to je užitečné až při dokazování, že obrázek je ukradený, zatímco my chceme, aby to bylo vidět hned.

Viditelný vodotisk se dá vytvářet dynamicky pomocí skriptu. Princip je následující: čisté obrázky se dají do nepřístupného adresáře, ve stránkách se do src dává odkaz na php skript se jménem požadovaného obrázku v parametru. Skript si načte obrázek, načte připravený vodotisk, slepí dohromady a prohlížeči vrátí výsledek. Podrobný popis je např. zde (en).

Způsob je to trochu složitější, hlavně pro offline verzi - a tu můj blog má, takže jsem zvolil vodotiskování natvrdo, přímo do obrázku. Existují specializované programy, jako např. Watermark Factory, ale pro moje účely bohatě stačí GIMP. Vyzkoušel jsem plugin "watermark", jehož jedinou nevýhodou je, že vodotisk musí být umístěn v rohu obrázku, nejde ho posadit třeba doprostřed.

Nakonec jsem tedy skončil u ruční tvorby nápisu:

  • nástrojem text se napíše obsah vodotisku, v bílé barvě
  • na vzniklé vrstvě se aplikuje filtr "Filtry/Mapa/Mapa vyvýšení", který bílému písmu vytvoří černé 3D kontury
  • a změní se krytí vrstvy na cca 30%
12345
1179664500000

Kategorie

Informace

Kontakt

Sledujte také

Archiv

STRÁNKY ARCHIVOVÁNY NÁRODNÍ KNIHOVNOU ČR

CBDB.cz – Databáze knih a spisovatelů, knihy online