V tomto článku se dovíte jak pomocí .htpasswd (a .htaccess) zaheslovat stránku. Nedávno jsem zaheslovával své fotoalbum a tak jsem se rozhodl, že se o návod jak zaheslovat takovou stránku podělím. Všechno je v celku jednoduché, ale i tak se Vám pokusím sepsat maximum. Třeba se to bude někomu z Vás někdy hodit. Člověk nikdy neví.
Pár slov o tomto způsobu zaheslování
.htaccess je nejbezpečnější zaheslování stránek
Podle mého nejlepší, nejbezpečnější a zároveň jednoduché zaheslování stránek. Všechno se dá zvládnout během 2 minut. Zaheslování webu je opravdu hračka. Přístup pod heslem můžete využít například u statistik Vaší stránky, fotoalba a vlastně na všech konkrétních stránkách. Prostě na všechno. Ohromným plusem je také to, že se jedná o nejbezpečnější způsob zaheslování stránek a přitom je to tak jednoduché.
Jak tedy zaheslovat stránku?
Vytvořte si soubory .htaccess a .htpasswd. Podrobný návod jak takový soubory vytvořit najdete v článku Použití souboru .htaccess – zde na blogu. Do .htaccess zapište …
AuthUserFile /home/www/vas-web.cz/www/.htpasswd
AuthName "Text ..."
AuthType Basic
require valid-user
a do souboru .htpasswd zadáte uživatelské jméno a heslo pro přihlášení. Heslo musí být zašifrované. To učiňte třeba tady. Finální verze souboru .htpasswd by tedy mohla vypadat asi nějak takto:
Nikol:NTpyGmz5YdvQE
Petr:a2H3HDbwGs82k
Karlos:aGRZIl8tM7Pvk
Jak vidíte uživatelským jmen můžete do souboru .htpasswd zapsat nekonečno. Oba soubory nahrajte do složky, kterou chcete zaheslovat. Všechny soubory a složky budou vyžadovat pro přístup heslo. Pro odhlášení a nové vyžádání hesla pak stačí zavřít prohlížeč (ne panel, či záložku).
Zákaz výpisu složky
V některých případech mohou být soubory přístupné při zadání přesné adresy a tak by celé zaheslování bylo zbytečné. Proto doporučuji do souboru .htaccess také zapsat tento řádek ,který zakáže procházení složek a souborů.
Options -Indexes
Naopak zadáním +Indexes procházení složek a souborů povolíte. To ovšem v tomto případě silně nedoporučuji.
Zjištění adresy pro AuthUserFile
Pro správnou funkčnost potřebujeme zadat správnou adresu na soubor .htpasswd. Tu zjistíme například pomocí PHP souboru. Vytvořte tedy PHP soubor (nebo si jej rovnou stáhněte) a zapište do něj toto:
<?php
phpinfo();
?>
Poté jej nahrajte na Vás server, otevřete a vyhledejte si řádek SCRIPT_FILENAME. Tuto adresu zapište do Vašeho .htaccess souboru do políčka AuthUserFile. Cesta ovšem musí končit souborem .htpasswd v kterém jsou zapsané Vaše přihlašovací údaje.

Nemáš čas? Stahuj …
Vždy se najde někdo, kdo nemá příliš času. Hlavně pro ty jsem zde připravil verzi na stažení. Jediné, co musíte udělat je to, že změníte adresu AuthUserFile a vygenerujete si nové heslo. V základě jsou přihlašovací údaje celkem dobře zapamatovatelné. Jméno je admin a heslo je 12345.
Alternativy zaheslování stránky
Pokud by Vám tento způsob nevyhovoval, či připadal málo bezpečný, můžete vyzkoušet další možnosti zaheslování stránky. Více už třeba v článku od Dušana. Najdete v něm určitě užitečné rady na různé způsoby zaheslování stránek. Ať se daří :)
{ 25 komentáře… přečtěte si je níže nebo přidejte vlastní }
Toto je hodně dobrý a užitečný návod, chválím. :-)
Chtěl bych se zeptat, zda bys dokázal tímto způsobem zaheslování zaheslovat články v určité rubrice WordPressu. Určitě to půjde, ale chce to nějak šikovně napsat podmínku pro kontrolu rubriky, na což je také potřeba šikovný člověk. A to já nejsem. :-)
Díky. Snažil jsem se vytvořit opravdu kvalitní návod jak zaheslovat stránku pomocí .htpasswd – povedlo se. Alespoň doufám. Snažil jsem se všechno vysvětlit jasně a poukázat i na další věci, které třeba ostatní návody postrádají. Nicméně k tvé otázce. WordPress už zaheslování konkrétního článku podporuje a tak by to byla zbytečná práce. Tenhle způsob zaheslování (který popisuji v článku) se spíše hodí na osobní fotoalba, statistiky návštěvnost a bůh ví co ještě … :)
Mám Windows Server a nejede mi to tam. Co dělám špatně?
Těžko říct. Nemůžu vědět, co je za chybu, když to nevidím. Pokud jsi to zaheslování stránky udělal opravdu podle návodu a soubory (.htaccess a .htpasswd) obsahují to, co mají – mělo by to fungovat. Určitě by mi pomohlo kdyby jsi mi řekl, co ti to hlásí. Pokud je to chyba 500 bude zřejmě špatně zadaná adresa k souboru .htpasswd. Překontroluj tedy správnost řádku AuthUserFile.
Jseš si opravdu jist, že .htaccess funguje i na Windows Server? Nebeží to náhodou jenom na Apači?
Na Windows Server nefunguje. Máš pravdu. Tenhle druh zaheslování stránek funguje jen na serveru Apache. .htaccess a .htpasswd jsou Linuxové soubory (konfigurační). Nevím kde jsem nechal hlavu, když jsem psal předešlí komentář. Díky za upozornění ;)
A zrovna teď se mi to hodilo. Daleko jednodušší něž přes PHP. Dík, nikdy jsem to přes htaccess nezkoumal.
Jsem rád, že návod našel využití. Je to opravdu jednoduché a zároveň bezpečné zaheslování stránek. Miluju věci, které jsou bezpečné a jednoduché :P
Juj. Já to nechápu. Kde mám vzít ten .htaccess? Dík za odpověď :-).
Kde vzít .htaccess? Ten najdeš někde v adresářích nebo podadresářích na FTP (File Transfer Protocol). Musíš mít tedy přístup k FTP. Pokud máš blog někde na něčem typu něco.blog.cz a podobné – tak k takovému souboru přístup nemáš (myslím). Takže zaheslování stránky tímto způsobem pro tebe není možné.
Jj díky, ale já ani nevím kde jsou ty podadresáře. Já se v PC vyznám, ale tohle? To je složité xD.
Skvělý, že jsi sem napsal jak zaheslovat stránky. Je to fakt o hodně jednodušší, než přes PHP. Jenom nechápu jedinou věc-nějak mi uniklo, jak nadefinovat přesměrování na stránku po zadání správného hesla. Vždy- ať už zadám správné nebo špatné heslo se nic nestane a cedulka vyjede znovu. Nemám nikde napsanou adresu, kterou chci otevřít po zadání správného hesla. Jak to mám udělat?
Trochu jsem na tuhle věc v článku zapomněl. Adresa, která se zobrazí se nikam nepíše. Soubory mají být v ní. Chci říct, že pokud chceš zaheslovat složku WWW – vložíš oba soubory do ní. Po zadání správného hesla se složka zpřístupní.
Ohledně té vyskakující cedulky – zkus si překontrolovat adresu AuthUserFile. Potom koukni na správnost hesla. Tuším, že budeš mít špatně zašifrované heslo (nebo píšeš nesprávné).
A to heslo do té tabulky mám psát to normální, nebo to zašifrovaný? Ohledně té složky to vím. Kontroloval jsem to, ale chybu jsem neodhalil. Šifrování hesla jsem použil to, na který máš tady odkaz. Jestli chceš můžu ti mailem poslat heslo na administraci a můžeš na to mrknout. Nemůžu na to přijít :(. Díky.
Heslo do souboru dej to zašifrované. Mělo by to fungovat (generátor jsem zkontroloval a funguje). Jestli chceš pošli mi to všechno mailem (najdeš v sekci kontakt). Budu potřebovat jen údaje na FTP. Připojím se a vše ti zkontroluji. Hned poté bych ti sem na blog napsal, co bylo špatně (zašlu i na mail).
Chyba byla ve špatném zápisu adresy k souboru .htpasswd (v řádku AuthUserFile). Správný zápis byl:
AuthUserFile /3w/wz.cz/j/***-***/pasw/.htpasswd.Já věděl, že někdo udělá chybu :). Proto jsem napsal návod, který je v článku.
Díky za návod podle kterého se dá pracovat. Jen mi něco nefunguje – jak jinak :-(. V IE a FF je to supr, ale v Chromu je něco špatně – dialog k heslu se zobrazí až poté co se zobrazí ta zaheslovaná stránka a po vystornovaní se na ní dá dál pracovat… Je to udělané podle tvého návodu, jen
Options -Indexesse mi nepovedlo zakomponovat – chyba 500.Díky za odpověď.
Generátor mi moc nefungoval, taxem našel lepší variantu fungující bez problémů – http://www.htaccesstools.com/htpasswd-generator/ :)
Options -Indexesnení až tak důležitý. Na funkčnost to nemá vliv. Podle mého máš chybu v adrese v řádkuAuthUserFile. Je zvláštní, že v některých prohlížečích ti zaheslování té stránky funguje a někde ne. Nejde mi to do hlavy. Zkus se ozvat přes kontaktní formulář a nějak to vyřešíme :).Díky, zdá se, že už je všechno OK.
Jak se dá heslo vygenerovat jinak? Když využiju stránku http://generator-hesel.station.cz/, tak to je v pohodě. Co když ale za pár dní (týdnů, …) přestane fungovat? Můžu si ten generátor hesel dát někam k sobě?
Určitě. Můžeš si jej klidně nakopírovat k sobě. Pokud to tedy hosting podporuje. Věnuji se tomu v jednom článku. Můžeš si to vyzkoušet, zkouknout a stáhnout. Problém je, že na většině serverů ti to nepůjde a tak budeš muset spíše hledat :).
Ahoj Tomáši, chtěl bych ti moc poděkovat za tento návod, dělám stránky ve formátu Flash a marně si lámu hlavu už pár měsíců jak vytvořit zaheslování stránek v programu ve kterým dělám a vzhledem k tomu, že jsem samouk, tak fakt nevím. Tenhle návod mi to hodně ulehčil. Takže díky!
Mám však otázku. Používám Mozillu a jakmile se jednou zaloguju pod jedním heslem a jménem, tak stránky po mě již heslo nevyžadují a automaticky se přihlásí (v Exploreru to funguje bez problému). Nevíš kde by mohla být chybička nebo jak to vyřešit, aby to vždy vyžadovalo heslo. Díky moc za odpověď.
Olda
Rádo se stalo. Těší mne to :). Odpověď hledej v článku (pro odhlášení a nové vyžádání hesla stačí zavřít prohlížeč).
Ahoj, vše jsem udělal podle návodu ale … logovací okýnko se zobrazí, ale když napíšu jméno a heslo neuzná mi to. Mohl by ses podívat?