SIKS / Predavanja / Vježbe
Kontrola pristupa na poslužiteljima pomoću .htaccess datoteke
Datoteka .htaccess je konfiguracijska datoteka koja se koristi u Apache web poslužiteljima za konfiguriranje i upravljanje web lokacijama.
Ova datoteka se koristi za definiranje pravila za upravljanje pristupom web stranicama, promjene izgleda i ponašanja web stranica, i mnoge druge postavke koje se odnose na web lokaciju.
U .htaccess datoteci mogu se definirati različita pravila poput:
- Upravljanje pristupom web stranicama na temelju IP adresa, korisničkih imena i lozinki
- Preusmjeravanje korisnika na druge web stranice ili stranice unutar iste web stranice
- Konfiguracija postavki za kompresiju i caching datoteka
- Definiranje pravila za prikazivanje pogrešaka, poput 404 pogreške stranice
Da bi se koristila .htaccess datoteka, Apache server mora biti konfiguriran za omogućavanje korištenja ovih datoteka.
Ako je konfiguracija ispravna, .htaccess datoteka se automatski učitava kada se pristupa web stranici, te se primjenjuju sva pravila i postavke definirane u datoteci.
Zadatak
Napravimo index.html datoteku i postavimo je u htdocs (var/www/html/primjer.com) folder
Za ovaj zadatak možemo koristiti i XAMPP
Napravimo .htpasswd datoteku za korisnika1 i napravimo pristup 664 – datoteka mora biti u /var/www/ folderu
sudo htpasswd -c /var/www/.htpasswd korisnik1
sudo chmod 644 .htpasswd
Izlistamo sadržaj .htpasswd datoteke (lozinka je u kriptiranom obliku)
cat .htpasswd
Napravimo .htacces datoteku pomoću nano editora
nano .htaccess
i umetnemo sadržaj:
#Protect Directory
AuthName "Dialog prompt"
AuthType Basic
AuthUserFile /var/www/.htpasswd
Require valid-user
Primjer – kontrola pristupa samo za jednu datoteku:
#Protect single file
<Files datoteka.txt>
AuthName "Dialog prompt"
AuthType Basic
AuthUserFile /var/www/.htpasswd
Require valid-user
</Files>
Primjer – zabrana izlistavanja sadržaja foldera:
Options -Indexes
Primjer – ACL zabrana pristupa prema IP adresi
<Directory /var/www/html/primjer.com/datoteka>
Order Deny,Allow
Deny from all
Allow from 192.168.254.1
</Directory>