.htaccess



.htaccess egy könyvtárban tárolt fájl, általában Unix és Linux változatú operációs rendszeren, amely megadja vagy megtagadja a felhasználók vagy csoportok hozzáférési jogait az adott könyvtárhoz. Rajta Unix-szerű operációs rendszer, mint pl Linux , ennek a fájlnak a 640-es jogosultságokkal kell lennie chmod . Ugyancsak a gyökér public_html könyvtár. Tartalma hasonló lehet az alább felsorolt ​​példákhoz.



Teljes .htaccess példa és magyarázat

Az alábbiakban részletesen bemutatjuk a .htaccess fájl egyes fő szegmenseit. Ezen szegmensek mindegyike beépíthető a .htaccess fájlba attól függően, hogy mire van szüksége a fiókjának.

jegyzet

Az alábbi módosítások végrehajtása után feltétlenül tesztelje weboldalát. Ezek a változtatások korlátozhatják vagy átirányíthatják a látogatókat olyan módon, amire Ön esetleg nem számított.



Tipp

A # -gal kezdődő sorok megjegyzések vagy végrehajthatatlan állítások . Az alábbiakban számos példát felhasználunk reguláris kifejezések az URL-karakterláncban szereplő karakterek vagy fájlok egyezéséhez.

Állítsa be az alapértelmezett karakterbeállítást

#Set the charset for the pages AddDefaultCharset UTF-8

Az első példában az egyes oldalak karakterbeállításait UTF-8 értékre állítjuk. Bár ez meghatározható a metacímke , ha a beállítást minden dokumentumra alkalmazni kívánja, állítsa be a .htaccess fájlban.



Átirányítja az egyezéseket az URL-ben

#Redirect M$soft and Hacking attempts RedirectMatch (.*MSOffice)$ /error.htm RedirectMatch (.*httpodbc.dll)$ /error.htm RedirectMatch (.*root.exe)$ /error.htm RedirectMatch (.*nt)$ /error.htm RedirectMatch (.*comments.php)$ /error.htm

A fenti példában a RedirectMatch átirányítja a fenti illesztett karakterláncok bármelyikét a error.htm oldalra. Ezeket a sorokat egy szkriptbe is továbbíthatjuk, hogy naplózza a naplót, vagy ennek megfelelően irányítsa a felhasználókat. Az első sorban az URL végén található bármely MSOffice-t egyeztetjük, és továbbítjuk a error.htm oldalra.

Átirányítja a felhasználót 410 hibával

#HTTP 410 don't log files don't have Redirect gone /crossdomain.xml Redirect gone /labels.rdf

A következő példa átirányítja a felhasználót egy 410-es hibaüzenetre, ami azt jelenti, hogy a keresett oldal eltűnt, soha nem fog visszatérni, és nincs továbbítási címe. A 410-es átirányítás nagyszerű módja a kérelmek átirányításának olyan oldalakra, amelyek nincsenek a szerveren, de gyakran kérnek, és 404 hibát okoznak a hibanaplóban.

Egyéni hibadokumentum oldalak

#Error pages ErrorDocument 400 /error.php?400 ErrorDocument 401 /error.php?401 ErrorDocument 403 /error.php?403 ErrorDocument 404 /error.php?404 ErrorDocument 405 /error.php?405 ErrorDocument 410 /error.php?410 ErrorDocument 500 /error.php?500 ErrorDocument 501 /error.php?501

A fenti példában az esetleges HTTP-hibák egy PHP-szkriptre irányulnak, amely megjeleníti a hibát a felhasználó számára. A PHP szkript naplózza a webmester hibáját is. Lásd: HTTP definíció a HTTP hibák teljes felsorolásához, ha a fentieknél többet igényel. Lehet, hogy webhelyének nem kell más, mint egy egyedi 404 válasz.

Hozzon létre egy 301-es átirányítást

#HTTP 301 redirect computerhope.com to www.computerhope.com RewriteEngine On rewritecond %{http_host} ^computerhope.com [NC] rewriterule ^(.*)$ https://www.computerhope.com/$1 [L,R=301,NC]

A fenti példában létrehoztunk egy 301-et, amely átirányít https://computerhope.com nak nek https://www.computerhope.com . Az átirányítás 'L, R = 301, NC' jelzőként használja. Az „L” rövidítve az „utolsó”. Azt mondja az Apache-nak, hogy ne futtasson többé írási szabályt. Az 'R = 301' a 301-es átirányításra vonatkozik, az 'NC' pedig a 'nincs eset' kifejezésre utal, és ezt a szabályt kis- és nagybetűkre érzéketlenné teszi. Az ilyen típusú átirányítás létrehozása megakadályozza, hogy a weblapok többször szerepeljenek a keresőmotorokban, és minden következetes marad. Hozzáadtuk a szimbolikus linkek követésének lehetőségét is ( szimbolikus linkek ), megakadályozva a hibák előfordulását, ha egy fájl vagy könyvtár kapcsolódik, és nem tényleges fájlhoz vagy könyvtárhoz tartozik.

RewriteCond %{HTTP_HOST} ^www.(.*) [NC] RewriteRule ^(.*) http://%1/$1 [R=301,L]

A fenti példa egy másik példa arra, hogyan lehet létrehozni egy 301-es direkt. Ebben a példában bármelyik www-címet egy nem www-címre irányítjuk. Tehát, ha megvalósítják https://www.computerhope.com válna https://computerhope.com . Ebben a példában a vad karakter . * tartományként megadás helyett computerhope.com .

Biztonságos .htaccess fájl

# Secure htaccess file order allow,deny deny from all 

Ebben a következő példában egy olyan szabály jön létre, amely megakadályozza, hogy bárki megtekinthesse a .htaccess fájlt, és az ott felsorolt ​​szabályokat. Ezek az extra sorok további védelmet adhatnak a .htaccess fájlnak.

Letiltja a könyvtár indexelését

# disable directory browsing Options All -Indexes

A fenti példában ez a biztonsági szabály megakadályozza, hogy bárki böngészjen a címtárakon a szerveren. Például, ha van egy / files nevű könyvtárad, amely nem tartalmaz a-t index.html fájl, az adott könyvtár fájljai bárkinek megjelennek. Ha az adott könyvtár érzékeny fájlokkal rendelkezik (pl. Jelszavak), akkor a mappát böngésző személy megtekintheti vagy elmentheti az adott könyvtárba tartozó fájlokat, ami biztonsági kockázatot jelent.

A HTML-fájlok SSI-fájlként működnek

#Allow files with chmod +x to be SSI files xBitHack on

Az xBitHack bekapcsolásával bármelyiket engedélyezheti HTML futtatható engedélyekkel rendelkező fájl, pl. chmod + x SSI fájlként kezelendő. Ez a kiegészítés hasznos bárkinek, aki statikus HTML fájlként weboldalt futtat, és szüksége van egy vagy több HTML-weboldalára, hogy SSI legyen.

Engedélyezze a weboldal gyorsítótárát

# Month cache Header set Cache-Control 'max-age=2592000' # Week cache Header set Cache-Control 'max-age=604800' # Day cache Header set Cache-Control 'max-age=86400' 

A fenti példában gyorsítótár olyan beállítás, amely segít javítani az oldalak betöltési sebességét és csökkenteni a szerver iránti igényt. A fenti első példában a képfájlok és más fájlok maximális életkora egy hónap. Ha a látogató olyan fájlt kér, amelyet már egyszer megnézett, akkor az összes jövőbeli kérés egy hónapig nem a szerverről, hanem a számítógépéről töltődik be. Ezután olyan fájlokat, mint JavaScript fájlok és CSS a fájlok egy hét maximális életkorára vannak beállítva. Végül a HTML a fájlok napkorlátozásra vannak beállítva. Ezek mindegyike beállítható attól függően, hogy milyen gyakran frissíti az ilyen típusú fájlokat.

Tipp

A kor másodpercben jelenik meg. 86 400 másodperc van egy nap alatt.

A látogatók megtagadása a USER_AGENT alapján

RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR] RewriteCond %{HTTP_USER_AGENT} ^Download Demon [OR] RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR] RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR] RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR] RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR] RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR] RewriteCond %{HTTP_USER_AGENT} HTTrack [OR] RewriteCond %{HTTP_USER_AGENT} ^Zeus RewriteRule ^.* - [F,L]

Számos eszköz és szolgáltatás indexeli a webhelyét e-mail címek keresése vagy a teljes oldal másolása után. Ha ezeket a szolgáltatásokat nem megfelelő módon használják, akkor azok a szerverén keresztül távoznak, és rosszindulatúan is felhasználhatók. Ha észreveszed ezeket felhasználói ügynökök a látogatói naplókban, amelyek megelőzhetők a fentihez hasonló paranccsal.

A látogatók megtagadása az IP-cím alapján

Order Allow,Deny Deny from 178.239.58.144 Allow from all

A fenti példában ezek a vonalak tagadják az an-t IP-cím az oldalai elérésétől. Az IP betiltása ezzel a módszerrel segít abban, hogy bárki megakadályozza az IP címet, hogy bármit is tegyen az Ön webhelyén.

Jelszóval védett könyvtár létrehozása

AuthUserFile /home/directory/.passfile AuthGroupFile /dev/null AuthName Access For Valid Users AuthType Basic require valid-user 

Az AuthUserFile tartalmazza azokat a felhasználókat és jelszavakat, amelyekhez hozzáférést kíván biztosítani a fájlok tárolási könyvtárához.

Jelszó létrehozásához írja be a következő parancsot a parancssorba.

htpasswd -c . passfile username

A fenti parancs megadása után megjelenik a felhasználónév jelszavának megadására vonatkozó felszólítás.

The passfile should also be set to 640 permissions.
jegyzet

Előfordulhat, hogy a fenti példák és információk nem minden rendszerre vagy telepítésre vonatkoznak. Ezért, ha nem biztos abban, hogy a ISP (Internet szolgáltató) vagy egy internetes gazdagép támogatja a jogok létrehozását a htaccess használatával. Vegye fel a kapcsolatot velük, ha nem tudja jelszóval védeni a webhelyet.