Tento návod je zde uveden především z historických důvodů a pro případy, kdy postačí nejjednodušší forma zabezpečení. S ohledem na vývoj technologií je doporučeno používat moderní způsoby ochrany dat a začlenit příslušné funkce již do návrhu aplikace, kterou plánujete na serveru provozovat. Běžná CMS mají tyto funkce integrovány jako svou standardní součást.
Zaheslování webových stránek je možné provést na úrovni složky v souborovém systému serveru (dědí se automaticky pro vnořené složky). Postup se skládá ze dvou kroků.
1. Vytvoření uživatelské databáze
Seznam uživatelů a jejich hesel je uložen v souboru. Ten se vytváří a udržuje programem htpasswd. Tento soubor by měl být umístěn v adresáři mimo strom dokumentů dosažitelných přes WWW, nejlépe tedy v nějaké složce Vašeho domovského adresáře mimo složku "public_html" (pro správce webových složek pracovišť je možné s výhodou využít adresářovou strukturu ve složce "_weblinks_private").
Syntaxe pro vytvoření souboru s prvním uživatelem: htpasswd -cm soubor_s_hesly uzivatel
Syntaxe pro přidání dalšího uživatele / změnu stávajícího uživatele: htpasswd -m soubor_s_hesly uzivatel
Syntaxe pro odstranění uživatele: htpasswd -Dm soubor_s_hesly uzivatel
Další volby programu získáte zadáním příkazu htpasswd bez parametrů.
Vytvořený soubor_s_hesly ve Vašem domovském adresáři musí být čitelný pro uživatele pod kterým běží webový server, unixová práva k souboru jsou tedy např. rw-r--r-- a dále musí být přístupný domovský adresář (rwx--x--x), což je již splněno, pokud máte www stránky funkční.
Po spuštění tohoto příkazu budete (kromě varianty pro odstranění uživatele) vyzváni k zadáni hesla, které se nastaví pro daného uživatele.
Takto udržovaný seznam uživatelů a jejich hesel je zcela nezávislý na centrálním managementu hesel na PřF UK. Změnou hesla pro přístup k elektronické poště nebo k jiným službám nedojde ke změně hesla ve Vámi vytvořeném souboru s hesly.
2. Určení chráněných složek
Ve složce, která má být chráněna heslem, vytvoříte soubor .htaccess, s tímto obsahem:
AuthName "Omezený přístup"
AuthType Basic
AuthUserFile /cesta/k/souboru_s_hesly
require valid-user
První direktiva AuthName specifikuje jméno chráněné oblasti. To umožňuje sdílet uživatelská jména pro přístupy do různých oblastí. Jakmile je jednou zadáno správné jméno a heslo, má daný uživatel přístup do všech oblastí (podadresářů) se stejným jménem oblasti. Pokud dvě oblasti mají různá jména, uživatelé při přechodu z jedné do druhé musejí opět zadat své heslo.
Direktiva AuthType určuje přístupový protokol, musí být nastavena na "Basic".
AuthUserFile určuje jméno příslušného souboru, vytvořeného pomocí htpasswd (viz krok č. 1). POZOR - cesta musí být absolutní, tedy např. /home/x/uzivatel/soubor_s_hesly
Require v daném příkladu (tj. s parametrem valid-user) umožní přístup všem uživatelům uvedeným v odpovídajícím souboru s hesly (po zadání správného hesla), ale je zde ještě možnost užšího výběru :
Příkaz "require user martin jana" povolí přístup pouze pro Martina a Janu, samozřejmě opět až po zadání správného hesla.