Pro omezení přístupu můžeme použít „statickou“ konfiguraci apache. Tato může být buďto v konfiguračních souborech apache v adresáři /etc/apache2/…
, nebo v souboru .htaccess
umístněném v adresáři přístup ke kterému chceme řídit (omezovat).
V následující ukázce jsem spojil dvě metody omezení přístupu. První je pomocí IP adresy odkud dotaz na www stránky přichází. V daném případě povolujeme přístup z IP adres 192.0.2.1 a 192.0.2.16 az 192.0.2.31 vyjma adresy 192.0.2.21. Druhá blok příkazů konfuguruje omezení přístupu heslem. V souboru /etc/apache2/passwd
jsou hashe hesel a příkazem Require user
říkáme kteří z uživatelů mají k adresáři přístup.
<Directory /var/www/karel> AllowOverride None # Řízení přístupu IP adresou uživatele Order allow,deny Allow from 192.0.2.1 192.0.2.16/28 Deny from 192.0.2.21 # Řízení přístupu heslem AuthType Basic AuthName "Tajne informace" AuthUserFile /etc/apache2/passwd Require user karel ivana </Directory>
Hesla v souboru udržujeme programem htpasswd. Při vytváření prvního uživatele soubor vytvoříme.
#
htpasswd -c /etc/apache2/passwd karelpasswd:
Při přidávání dalších uživatelů, nebo při změně hesla stávajících použijeme příkaz:
#
htpasswd /etc/apache2/passwd ivanapasswd:
Abych si oddělil konfigurace, zapasal jsem celý blok příkazů tak jak je uveden výše do souboru /etc/apache2/conf.d/karel
.
Pokud nemůžeme použít konfigurační soubory apache, například publikujeme na serveru kde nemáme administrátorský přístup a jsme jen běžní uživatelé, použijeme možnost uložit konfiguraci do souboru .htaccess
. Tento soubor obsahuje výše uvedený blok mimo <Directory …
a AllowOverride
.