Htaccess tiedoston tekeminen

Salasana suojaus

.htaccess tiedosto tehdään kansioon jota halutaan suojata käyttäjätunnuksella ja salasanalla.
Esimerkki .htaccess tiedoston sisällöstä ja tässä esimerkissä halutaan suojata data kansion alla olevat tiedostot käyttäjätunnuksella ja salasanalla:

AuthType Basic
AuthName “Suojattu alue! – Tarvitset palveluun tunnukset-”
AuthUserFile /www/data/.htpasswd
Require valid-user

Error dokumentit

Virhekoodi 404 tiedostoa ei löydy voidaan ohjata 404.html sivulle joka on normaali HTML-dokumentti, kuten muut verkkosivustosi, ja se voi näyttää mitä tahansa sisältöä haluat. Suosittelen kuitenkin sisällyttämään ‘Tiedostoa ei löydy’ -viestin.

Asentaaksesi muita virheasiakirjoja, esimerkiksi ‘401 Unauthorized’, ‘403 Forbidden’ ja ‘500 Internal Server’ -virhesanomille, lisää .htaccess-tiedostoon rivejä seuraavan esimerkin mukaisesti. Huomioi että palvelimella täytyy olla error kansio, jossa on html tiedostoina error sivut.

ErrorDocument 401 /www/error/401.html
ErrorDocument 404 /www/error/404.html
ErrorDocument 500 /www/error/500.html

Uudelleen ohjaus

Sivun uudelleen ohjaus mahdollistaa ohjata verkkosivustojen kävijöitä vanhasta verkkosivustosi uuteen eli yhdestä asiakirjasta toiseen. Tämä on hyödyllistä esimerkiksi jos olet siirtänyt verkkosivustosi sisällön ja haluat ohjata kävijöitä vanhoista linkeistä uuteen sisältöpaikkaan.

Lisää uudelleenohjaukset luomalla .htaccess-tiedosto seuraavien ohjeiden mukaisesti:

Redirect /vanha_hakemisto / http://www.sinundomain.fi/uusi_hakemisto/index.html

Yllä oleva rivi kertoo Apache-verkkopalvelimelle, silloin kun kävijä pyytää hakemistossa ‘vanha_hakemisto’ sijaitsevia tiedostoja, näytetään hakemistossa ‘uusi_hakemisto’ sijaitseva asiakirja ‘index.html’.

Siis tässä esimerkissä ‘vanha_kansio’ on www-vierailijan pyytämän asiakirjan sijainti, ja se on serverisi alla oleva tiedosto tai hakemisto. Tässä esimerkissä hakemisto ‘vanha_hakemisto’ sijaitsisi osoitteessa http://www.omaverkkotunnus.fi/vanha_hakemisto/.

Huomaa kuitenkin, että uuden tiedoston sijainti, johon kävijä on tarkoitus ohjata, on täydellinen verkkosivuston URL-osoite, ei se, johon viitataan suhteellisena URL-osoitteena ‘vanha_hakemisto’ -tapauksessa. Tämä tarkoittaa, että voidaan ohjata kävijät ‘vanha_kansio’ mihin tahansa Web-sivuston asiakirjaan, sitä ei tarvitse pitää verkkosivustosi sisällössä tai se voi olla mikä tahansa verkkosivusto, joka on vain olemassa oleva.

IP-estot

Apache-palvelu antaa mahdollisuuden vierailijoiden estotoiminnoille riippuen mistä ip osoitteesta vierailija tulee. Tämä on erittäin hyödyllistä estämällä ei-toivottuja kävijöitä tai sallittaessa verkkosivuston omistajalle pääsy vain tietyille verkkosivun osioille, kuten hallinta-alueelle.

Voit asettaa vierailijarajoituksia ja estämistä luomalla .htaccess-tiedostoon seuraavia tietoja:

order allow,deny
deny from 88.100.51.55
deny from 137.163.30.
allow from all

Yllä olevat rivit käskevät Apache-verkkopalvelimen estämään vierailijoita IP-osoitteista ‘88.100.51.55‘ ja ‘137.136.30. ‘, Huomaa, että toisesta IP-osoitteesta puuttuu neljäs numerosarja, tämä tarkoittaa mitä tahansa IP-osoitetta, joka vastaa kolme numerosarjan sisältöä estetään, esim ‘137.163.30.1’ ja ‘137.163.30.255’ estetään.

Jos haluat estää kaikkien vierailijoiden paitsi itsesi, luo .htaccess-tiedosto seuraavasti:

order allow,deny
allow from oma ip osoite tähän
deny from all

Yllä olevat rivit käskevät Apache-Web-palvelimen estää kaikki paitsi kävijät, joiden IP-osoite on ”oma ip osoite”, joka sinun tulee korvata omalla IP-osoitteella.

Voit lisätä minkä tahansa määrän ‘kielto’ ja ‘salli’ tietueita ‘.
Huomaa, että muutos “salli kaikista” tilaan “kieltää kaikesta”, on tärkeä ja se on muutettava tarpeidesi mukaan. Jos haluat sallia vierailijoille pääsyn, käytä ‘salli kaikista’ ja aseta ‘kieltämään’ yllä olevat rivit.

Estetyt kävijät näkevät ‘403 Kielletty’ -virhesanoman.

Hakemisto listauksen estäminen

Hakemistolistauksen estäminen voi olla erittäin hyödyllistä, jos sinulla on esimerkiksi hakemisto, joka sisältää tärkeitä .pdf-datatiedostoja, tai vaikka kuvahakemistojen katselun estämiseksi. Vaihtoehtoisesti voi olla hyödyllistä myös sallia hakemistoluettelot, jos niitä ei ole käytettävissä palvelimellasi, esimerkiksi jos haluat näyttää tärkeiden ‘.pdf-tiedostojen hakemistoluettelot.

Voit estää hakemistoluettelot luomalla .htaccess-tiedoston seuraavat tiedot:

IndexIgnore *

IndexIgnore käskee Apache-Web-palvelimen estää listausta hakemistosta, jossa .htaccess tiedosto sijaitsee. Tähti merkki ‘*’ tarkoittaa että hakemistolistauksen esto sisällytettän kaikkiin tiedostopäätteisiin. On mahdollista estää vain tiettyjen tiedostotyyppien luettelot, joten voit esimerkiksi näyttää ‘.html’-tiedostojen luettelot, mutta et .pdf-tiedostojesi listoja.

Estääksesi .pdf- listojen luomisen niin voit tehdä sen .htaccess-tiedostoon lisättävällä rivillä:

IndexIgnore *.pdf

IndexIgnore *.pdf asetus luetteloi Apache-verkkopalvelimen hakemistossa kaikki tiedostot paitsi pdf- tiedostot.

Voit myös estää useiden tiedostotyyppien listan luomisen .htaccess-tiedostoon lisätään esimerkiksi listausestot pdf, rar ja zip tiedostoille.

IndexIgnore *.pdf *.rar *.zip

IndexIgnore *.pdf *.rar *.zip rivi asettaa Apache-verkkopalvelimen luetteloimaan kaikki tiedostot paitsi tiedostot, jotka päättyvät ‘.pdf’.rar’ tai ‘.zip’ muotoon.

Vaihtoehtoisesti, jos palvelimesi ei salli hakemistoluetteloita ja haluat ottaa ne käyttöön, luo .htaccess-tiedosto joka sisältää seuraavan tekstin:

Options +Indexes

Yllä oleva rivi asettaa Apache Web Serverin sallimaan hakemistolistauksen hakemistossa, joka sisältää tämän .htaccess-tiedoston.

Estä käyttäjät jotka viittaavat tiedostoihin muista palvelimista

Apache-verkkopalvelimen tarjoamat käyttäjien estotoiminnot antavat meille mahdollisuuden estää pääsyn tietyille vierailijoille sen perusteella, mistä he ovat lähtöisin. Jos palvelimeen tulee yllättävää liikenteen kasvua ns. turhia kyselyitä ja silti todellisten tiedostopyyntöjen lisäys ei ole todennäköistä. Niin on mahdollista joku käyttää verkkosivujen sisältöä (kuten CSS-tiedostoja) tai joku yrittää hakkeroida verkkosivustosi (tämä saattaa tarkoittaa yksinkertaisesti yrittää löytää ei-julkinen sisältö).

Huomaa, että tämä toiminto vaatii, että ‘mod_rewrite’ on apachessa käytössä. Lisä osa vaatii palvelimelta resursseja ja sen takia jää monesti käyttämättä.

Jos haluat estää yhden tietyn viittauksen luomisen, luo .htaccess-tiedosto ja lisää seuraavat tiedot:

RewriteEngine on
RewriteCond %{HTTP_REFERER} muu_domain\.fi [NC]
RewriteRule .* – [F]

Yllä olevat rivit asettavat Apache-verkkopalvelimen estämään liikenteen URL-osoitteesta ‘muu_domain.fi’. ‘[NC]’ -teksti viittauksen jälkeen määrittelee sen alla olevat tiedostolinkkaukset estoon.

Asettaaksesi useiden viittausten estämisen niin voi luoda .htaccess-tiedostoon seuraavia tietoja:

RewriteEngine on
RewriteCond %{HTTP_REFERER} muu_domain\.fi[NC,OR]
RewriteCond %{HTTP_REFERER} muu_domain\.com
RewriteRule .* – [F]

Yllä olevat rivit asettavat Apache-Web-palvelimen estää liikenteen URL-osoitteista ‘muu_domain.fi’ ja ‘muu_domain.com’. Huomaa keno-viiva ennen pistettä, tämä on tärkeätä, esim. ‘Toimialue \ .com’. Ainoa ero yhden viittajan ja useiden viittausten estämisessä on [NC, OR] asetus.

Estetyille viittauksille näytetään ‘403 Kielletty’ -virhesanoma.

One thought on “Htaccess tiedoston tekeminen”

Leave a Reply

Your email address will not be published.