Možnosti zabezpečení webové stránky

22. 7. 2010

Webová prezentace může obsahovat informace, které nechceme sdílet s neověřenými návštěvníky. Máme několik možností, jak těmto uživatelům přístup na webovou stránku znemožnit nebo znesnadnit. Nejjednodušším způsobem je prosté zakázání indexace webové stránky, takže web se nebude zobrazovat ve výsledcích vyhledávání. Druhou možností je zaheslování přístupu k informacím umístěným na webu.

Zakázání indexace stránky

Může nastat situace, kdy nechceme, aby se webová stránka zobrazovala ve výsledcích vyhledávání, například máme-li na různých stránkách webu stejný obsah a chceme se vyhnout penalizaci vyhledávacího robota za takovou analogii. Nevadí-li nám, že se k informacím zveřejněným na webu dostanou neznámí návštěvníci a naším jediným požadavkem je nezobrazování webu ve výsledcích vyhledávání, budeme se snažit vyhledávacímu robotu zakázat indexaci webu. Výsledkem takové činnosti je, že na zadaná vyhledávaná klíčová slova se web vůbec nezobrazí ve výsledcích vyhledávání.

Atribut rel=“nofollow“

Nejjednodušší, ale velmi omezenou možností omezení návštěvy robota je zakázání sledování odkazu pomocí atributu rel=“nofollow“. Pokud tedy nechceme, aby vyhledávací robot sledoval nějaký odkaz, použijeme takovýto zápis:

<a href="http://www.elsnerova.cz" rel="nofollow">Elsnerova.cz</a>

Vyhledávací robot by však webovou stránku nezařadil do výsledků vyhledávání pouze za předpokladu, že by byl atribut rel=“nofollow“ uveden u všech odkazů směřujících na tuto stránku. Jelikož však na cílový web může odkazovat kdokoli, je nereálné zajistit přítomnost tohoto atributu u všech odkazů. Někteří vyhledávací roboti navíc zákaz definovaný tímto atributem nerespektují a cílová stránka se tak ve výsledcích vyhledávání může objevit i při velmi důsledném používání tohoto atributu.

Meta tag robots

Druhou možností je použití meta tagu robots. Tento tag zapisujeme do hlavičky stránky v následující syntaxi: <meta name="robots" content="noindex">, přičemž definujeme různé hodnoty atributu content:

  • noindex – indexace zakázána
  • index – indexace povolena (výchozí stav)
  • nofollow – sledování zakázáno
  • follow – sledování povoleno
  • all – povolena indexace i sledování

Soubor robots.txt

Poslední možností je použití souboru robots.txt. Při první návštěvě webové prezentace se vyhledávací robot podívá do tohoto souboru a z něj zjistí, na které stránky webu má přístup a na které nikoli. To nám umožňuje definovat oblasti, které roboti smějí nebo nesmějí navštěvovat. Postačí nadefinovat hodnoty user-agent a disallow, přičemž výchozí hodnoty jsou nastaveny tak, že všichni roboti mohou navštívit všechny stránky webu: User-agent: *
Disallow:

Jako příklad omezení přístupu uvedeme zakázání vstupu vyhledávači Google (respektive jeho robotovi nazvanému Googlebot) na webovou stránku s adresou http://www.elsnerova.cz/odkazy/metodiky.html:

User-agent: Googlebot
Disallow: /odkazy/

Zaheslování přístupu

Zakázání indexace webových stránek a jejich zobrazování ve výsledcích vyhledávání nezamezí nezvaným uživatelům v přístupu na web. Webová stránka se sice nezobrazí ve výsledcích vyhledávání, ale návštěvník se na ní může dostat pomocí odkazu na jiném webu nebo přímým zápisem internetové adresy.

Máme-li však na webu uveřejněny osobní informace, například fotografie z dovolené, se kterými se chceme podělit pouze se svými nejbližšími, můžeme zaheslovat přístup k obsahu webové stránky.

Nejjednodušší možností je použití hesla pro otevření souboru. Tuto variantu lze použít například pro soubory typu doc, pdf, zip a další. Je však zřejmé, že použití tohoto způsobu má omezené možnosti a pro zaheslování fotogalerie na webu není příliš vhodné, pokud tedy fotografie nechceme přátelům poskytovat pouze zabalené například v souboru typu zip.

Dalším způsobem je zaheslování přístupu na webovou stránku využitím javascriptového formuláře pro zapsání hesla:

<form name="formular" onsubmit="return false"> Heslo: <input type="password" size="10" name="heslo"> <input type="submit" value="Pokračovat" onclick="window.location.href = 'priklady/' + document.formular.heslo.value + '.html' "> </form>

Po správném zadání přístupových údajů je uživatel přesměrován na webovou stránku, jejíž obsah může, ale nemusí být chráněn jiným způsobem. Nejzákladnější ochranou by ovšem mělo být výše uvedené zakázání indexace.

Dalším způsobem je omezení přístupu do souboru pomocí souborů .htaccess a .htpasswd. Do prvního jmenovaného zapíšeme přesnou adresu složky, na kterou se vztahuje heslo, a další údaje:

AuthUserFile /home/www/moderni-web.net/www/diplomka.html .htpasswd
AuthName "Ludmila Elsnerová"
AuthType Basic
Require valid-user
Options-Indexes

Do souboru .htpasswd pak stačí zadat uživatelská jména a zašifrovaná přístupová hesla, například v následující podobě:

Jan:EHpDBmae58QsE
Josef:dsAeH583bws8k
Jakub:G85ResZsIt7vw

Oba soubory pak stačí nahrát do složky, jejíž obsah chceme zaheslovat. Heslem budou chráněny všechny složky a soubory ve složce chráněné heslem.

Další možností je použití hesla nastaveného pomocí serverového skriptu, například využitím PHP. Postačuje jednoduchý zdrojový kód:

<?php Header("expires: ".GMDate("D, d M Y H:i:s")."GMT") ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Heslo v PHP</title> </head> <body> <form action="heslo.php" method="post"> <input name="heslo" type="password"> <input type="submit" value="ok"> </form> <?php $heslo =$_POST['heslo']; if ($heslo=="eEH54me7dK") echo "Obsah, který se zobrazí po zadání správného hesla"; else echo "Obsah, který se zobrazí bez zadání hesla"; ?> </body>

Komentáře

  1. Hlavní strana
  2. Blog
  3. 2010 - červenec
  4. Možnosti zabezpečení webové stránky