Htaccess

From ICO wiki

Autor

Kaspar Steinberg A42

Versiooni ajalugu

14.12.2011 Valmis esialgne versioon

20.12.2011 Täiendatud/parandatud versioon

Sissejuhatus

.htaccess-i puhul on tegemist konfiguratsioonifailiga, mis võimaldab hallata veebiserveri käitumist. Võimaldab piirata ligipääsu kasutaja põhiselt, piirata ligipääsu IP aadressi põhiselt, tekitada ümbersuunamisi, muuta pikad URL-i nimed lühemaks ja kergemini meenutatavaks, luua isekujundatud veateate lehti(nt. 401) ja palju muud. .htaccess faili seaded mõjuvad kataloogile, kus ta asub ning selle kataloogi alamkataloogidele.

Eeldus

Õpetus on tehtud Ubuntu Server 11.04 kasutades, millega on eelnevalt läbi tehtud Veebiserveri labor: https://wiki.itcollege.ee/index.php/Veebiserveri_labor_v.2 Kõik käsud on tehtud juurkasutaja õigusi omades.

Kataloogi juurdepääsu piiramine

Kõigepealt tuleb luua kataloogi kuhu ligipääsu tahame piirata fail nimega .htaccess

touch /var/www/www/admin/.htaccess

Avame mõne tekstiredaktoriga loodud faili, antud juhul nano-ga.

nano /var/www/www/admin/.htaccess

Sinna faili lisame read, mis määravad ära kust failist kontrollida kasutajat ja parooli, mis kuvatakse sisselogimisaknal. Autentimine on basic, sest kasutame tavalist HTTP autentimist ning viimane rida annab kõigile ligipääsu, kellel on ligipääsuõigus (võime lubada ka ainult teatud kasutajaid: require user kasutajanimi).

AuthUserFile /var/www/www/admin/.htpasswd
AuthName "Logi sisse"
AuthType Basic
require valid-user

Loome faili kus on kasutajanimed ja paroolid. -c tähendab, et see fail luuakse. Hiljem kui soovime teisi kasutajaid juurde lisada tuleks -c ära jätta muidu kirjutatakse fail üle ning eelnevalt kirjas olnud kasutajanimed koos paroolidega kaovad. Peale selle käskluse andmist tuleb sisestada ka kasutajale parool.

htpasswd -c /var/www/www/admin/.htpasswd peeter

Nüüd proovides ligipääsu soovitud asukohale küsitakse kasutajanime ja parooli.

links www.random.ee/admin

IP aadresside/domeenide blokeerimine

Näiteks kui soovime blokeerida konkreetset ip aadressi avame .htaccess faili.

nano /var/www/www/admin/.htaccess

Lisame read, mis lubab kõigile lehte vaadata kuid ip aadressilt 110.124.123.10 mitte.

order allow, deny
deny from 110.124.123.10
allow from all

Kui soovime ära keelata mingi konkreetse ip aadresside vahemiku või domeeni.

order allow,deny
deny from 110.124.0.0/24
allow from all

Ümbersuunamine

Suuname terve lehe kuskile teise domeeni. .htaccess fail peab asuma veebi juurkataloogis ning sisaldama järgmist rida.

Redirect / http://www.google.com

Teeme nii, et avades www.random.ee/admin, suunataks ta automaatselt esilehele (www.random.ee). 301 tähendab, et see suunamine on jäädav ning otsingumootorid peaksid selle meelde jätma vana asukoha asemel. Kui paneksime sinna 302 siis oleks tegemist ajutise lahendusega ning otsingumootorid kontrolliks üle, ega pole algne aadress uuesti kasutusele võetud.

Redirect 301 /admin http://www.random.ee

Mõne faili asukoht on muutnud ning soovime, et vanalt aadressilt suunataks uuele asukohale.

Redirect 302 /admin/mingileht.html http://www.random.ee/admin/asd/uusleht.html

Kasutamine Proxy-ga

Kui kasutame htacces koostöös Proxy teenusega, siis IP põhine lubamine/keelamine ei toimi, kuna kõik päringud tulevad proxy serveri aadressilt.

Toon näite kuidas kasutada IP põhist juurdepääsu Varnishiga, mis on konfigureeritud kasutama X-Forwarded-For-i

.htaccess faili viime sisse muudatused, millega lubame juurdepääsu aadressidelt 1.2.3.4 ja 2.3.4.5

Deny from All
SetEnvIF X-Forwarded-For "1.2.3.4" AllowIP #Lisame selle rea
SetEnvIF X-Forwarded-For "2.3.4.5" AllowIP #Lisame selle rea
Allow from env=AllowIP #Lisame selle rea
Allow from 1.2.3.4
Allow from 2.3.4.5 

Rohkem infot https://freistil.zendesk.com/entries/21852711-How-can-I-restrict-IP-addresses-in-htaccess-with-the-reverse-proxy-in-front-

Viited

https://freistil.zendesk.com/entries/21852711-How-can-I-restrict-IP-addresses-in-htaccess-with-the-reverse-proxy-in-front-

http://www.javascriptkit.com/howto/htaccess.shtml

http://25yearsofprogramming.com/blog/20070803.htm

http://jodies.de/ipcalc

http://corz.org/serv/tricks/htaccess.php

http://corz.org/serv/tricks/htaccess2.php

http://sebastians-pamphlets.com/the-anatomy-of-http-redirects-301-302-307/

http://perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/