Zabezpečte si adresář na webu pomocí .htaccess souboru

Upraveno 6 prosince, 2023 00:18

Pokud aktivně spravujete web, občas se Vám může přihodit, že budete chtít chránit obsah různých složek na FTP pomocí hesla a loginu. A pokud máte webhosting na linuxovém serveru, víceméně se nabízí, abyste k tomuto účelu použili soubor .htaccess. Zabezpečte si adresář na webu pomocí htaccess souboru díky tomuto návodu, je to opravdu jednoduché. Pojďme se podívat v několika krocích, jak na to.

Zabezpečte si adresář na webu pomocí htaccess souboru

Abyste mohli ochránit libovolný adresář pomocí hesla a loginu, budete k tomu potřebovat dva soubory. Jeden, který samotné zabezpečení definuje, tedy soubor .htaccess a druhý, ve kterém jsou uložené přihlašovací údaje. Ten pojmenováváme .htpasswd. Obecně platí, že oba soubory by měly být na FTP oddělené. Tedy, nejlepší praktika spočívá v tom, že si vytvoříte soubor .htaccess ve složce, kterou si přejete zaheslovat, a soubor .htpasswd poté vytvoříte ve složce jiné, nejlépe takové, která není dostupná přes webový prohlížeč, ale pouze lokálně přes FTP.

Soubor .htaccess a jeho directivy

Nyní se pojďme podívat na directivy, které vložíte do souboru .htaccess. Ten bude samotné zaheslování vyžadovat. Tento soubor je nutné umístit do složky, kterou bude chránit heslem a loginem. Vytvořte si tedy na FTP v požadované složce soubor .htaccess a vložte do něj následující directivy:

				
					AuthType Basic
AuthName "Prosím, přihlaste se"
AuthUserFile /cesta/k/souboru/.htpasswd
Require valid-user
				
			

Jak si můžete všimnout, obsahuje soubor .htaccess výzvu “Prosím, přihlaste se”. Tuto výzvu si samozřejmě upravte podle své libosti. Druhá důležitá část souboru je definice cesty ke druhé části s heslem a loginem. Tedy k souboru .htpasswd. Tato cesta se do souboru vyplňuje jako tzv. absolutní cesta.

Absolutní cesta zahrnuje úplnou cestu od kořenového adresáře vašeho serveru. Pokud takovou cestu neznáte, lze ji zjistit PHP skriptem. Tedy za předpokladu, že je taková složka dostupná pomocí webového prohlížeče. Skript pro zjištění absolutní cesty je velmi jednoduchý. Do složky se souborem .htpasswd vložte druhý soubor s názvem cesta.php. Kupříkladu, na ftp si vytvoříte složku security a v ní umístíte soubor .htpasswd a také soubor cesta.php. Do souboru cesta.php vložte následující PHP skript:

				
					<?php
echo dirname(__FILE__);
?> 
				
			

Pokud nyní v prohlížeči zavoláte skritp cesta.php (mojedomena.koncovka/security/cesta.php) pomocí prohlížeče, vypíše Vám skript svou absolutní cestu. Tu můžete použít do souboru .htaccess. Ten potom může vypadat následovně:

				
					AuthType Basic
AuthName "Prosím, přihlaste se"
AuthUserFile /home/uzivatel/public_html/mojedomena.koncovka/security/.htpasswd
Require valid-user
				
			

Soubor .htpasswd a jeho obsah

Htaccess již máte definovaný a uložený ve složce, kterou chcete zaheslovat. Pokud použiju výše uvedený příklad, budeme mít na FTP složku security, kam nyní uložíme soubor .htpasswd s heslem a loginem. Obsah souboru .htpasswd je velmi jednoduchý:

				
					<uzivatel>:<heslo>
				
			

Namísto <uzivatel> vložíte login a místo položky <heslo> vložíte hash hesla. Heslo bude zašifrované pomocí base64. Na internetu si tedy najděte libovolný online nástroj na tvorbu šifrovaných hesel pomocí base64. Jeden je např. zde https://www.base64encode.org/. Vložte do něj své heslo a zašifrujte jej. Pro příklad použijeme heslo 123456admin.

Zabezpečte si adresář na webu pomocí .htaccess souboru

Nástroj nám nyní vytvořil hash, který je MTIzNDU2YWRtaW4=. Díky tomu můžeme vytvořit kompletní .htpasswd soubor, který bude finálně vypadat takto:

				
					admin:MTIzNDU2YWRtaW4=
				
			

Jak vidíte, výsledná složka je nyní chráněná loginem admin a heslem 123456admin. Pokud Budete chtít složku zaheslovat pro více uživatelů, stačí přidat libovolný počet řádků:

				
					<uzivatel1>:<heslo>
<uzivatel2>:<heslo>
<uzivatel3>:<heslo>
<uzivatel4>:<heslo>
				
			
				
					admin:MTIzNDU2YWRtaW4=
john:ZDM0NWRzYWQ2YWRtZAo=
josef:ZmYzNDVzZGQ2YWRtZAo=
karel:Y2ZnYnY1c2RkNmFkZmd0Cg==
marie:amppa3NkZDZhZGZnbHAK
				
			

Zabezpečte si adresář na webu pomocí htaccess souboru

Závěr

Jak vidíte, díky dvěma souborům jste byli nyní schopni zabezpečit heslem a loginem libovolnou složku na FTP. Pokud opět uvedu náš příklad, mohu takto zabezpečit např. složku /administrace, kam vložím soubor.htaccess, pomocí loginu a hesla v souboru /security/.htpasswd. Celý proces, byť takto napsaný vypadá možná složitě opravdu nijak výrazně složitý není. Pokud si nebudete vědět rady, komentáře pod článkem jsou otevřené.

Web je vytvářen s pečlivostí k obsaženým informacím. Snažím se poskytovat kvalitní a užitečný obsah, který ostatním pomáhá, nebo je inspiruje. Pokud jste spokojeni s mou prací a chtěli byste mě podpořit, můžete to udělat prostřednictvím jednoduchých možností.

Byl pro Vás tento článek užitečný?

Klikni na počet hvězd pro hlasování.

Průměrné hodnocení. 0 / 5. Počet hlasování: 0

Zatím nehodnoceno! Buďte první

Jak užitečný vidíte tento článek.

Sledujte mě na sociálních médiích.

Je mi líto, že pro Vás nebyl článek užitečný.

Jak mohu vylepšit článek?

Řekněte mi, jak jej mohu zlepšit.

newsletter

Odebírejte Newsletter

Buďte v obraze! Připojte se k odběru newsletteru a buďte první, kdo získá nejnovější informace přímo do vaší e-mailové schránky. Sledujte aktuality, exkluzivní události a inspirativní obsah, přímo na Vašem e-mailu.  

Odebírat
Upozornit na
guest
0 Komentáře/ů
Vložené zpětné vazby.
Zobrazit všechny komentáře.

Pokud mi chcete napsat rychlou zprávu, využije, prosím, níže uvedený
kontaktní formulář. Děkuji.

Další Kontaktní údaje