Restricționarea accesului folosind fișierul .htaccess. Trucuri cu htaccess: acces htaccess, codificare htaccess, banuri htaccess

Se întâmplă ca accesul la site-ul dvs. sau la o parte a acestuia să fie limitat. Interziceți intrarea unei anumite persoane sau permiteți doar un cerc restrâns de persoane. Faceți private anumite foldere (directoare) sau subdomenii și protejați-le cu parole. Toate acestea se pot face folosind fișierul .htaccess. Nu vă fie teamă de dificultăți; aceste setări nu sunt deloc un secret al sectei webmasterilor cu barbă. Dacă urmați instrucțiunile, chiar și un începător își poate da seama. Astăzi ne vom uita la unele dintre cele mai populare și utile setări.

Ce este un fișier .htaccess și cum se creează?

Pentru început, doar puțin despre termeni. .htaccess este un fișier care vă permite să modificați multe dintre setările site-ului dvs. (setări server web Apache, opțiuni PHP) și să controlați accesul la acesta. Puteți crea singur acest fișier în orice moment (sau este deja pe site-ul dvs.). De obicei, fișierul .htaccess este creat în directorul rădăcină al site-ului și, uneori, în subdirectoare care necesită setări separate.

Regulile specificate în fișierul .htaccess se aplică directorului (folderului) în care se află, precum și tuturor subdirectoarelor. Aceste reguli se aplică și subdomeniilor, deoarece directoarele subdomeniilor sunt subdirectoare ale site-ului principal.

Site-ul dvs. poate avea deja un fișier .htaccess. Atunci nu este nevoie să-l creați din nou; este suficient să adăugați reguli noi la sfârșitul fișierului existent. Dacă nu există un astfel de fișier, creați-l. Pentru a face acest lucru, în managerul de fișiere (articolul „Fișiere” din meniul de sus al panoului de control), aflându-se în folderul dorit, faceți clic pe „Creare” - „Fișier”, specificați ca nume de fișier: .htaccess (punctul de la se cere începutul). Gata. Tot ce rămâne este să-l umplem cu regulile necesare.

Permiteți accesul numai de la anumite IP-uri

Dacă site-ul dvs. sau orice parte a acestuia nu este destinat publicului larg, puteți limita accesul la acesta prin adresa IP. De exemplu, dacă pagina de conectare la partea administrativă a site-ului dvs. se confruntă cu solicitări suspecte care arată ca o încercare de hacking, o astfel de restricție poate fi utilă. Acest lucru se întâmplă destul de regulat cu site-urile WordPress. În acest caz, vă recomandăm de obicei blocarea accesului la secțiunea administrativă de la toate adresele IP, cu excepția adreselor dvs. (vom discuta mai jos cum să faceți acest lucru).

Dacă doriți să blocați accesul la întregul site, adăugați următoarele reguli în fișierul dvs. .htaccess:

Comanda refuzată, permiteți
Negați din partea tuturor
Permite de la *.*.*.*

Prima linie din această directivă specifică ordinea acțiunilor: mai întâi refuză, apoi permite. A doua linie interzice accesul tuturor (deoarece aceasta este ordinea specificată în prima linie). A treia linie permite accesul doar la o anumită adresă IP. Deci înlocuiți *.*.*.* cu adresa IP permisă.

Puteți permite accesul la mai multe adrese IP, la o întreagă subrețea de adrese IP sau chiar la mai multe subrețele. Doar fiecare nouă adresă IP sau subrețea ar trebui să fie indicată pe o linie nouă.

De exemplu, dacă există mai multe adrese IP:

Permite de la *.*.*.*
Permite de la *.*.*.*

Dacă adresele aparțin aceleiași subrețea, atunci specificați subrețea; pentru a face acest lucru, în loc de numere după ultimul punct, specificați intervalul: 0/*, de exemplu:

În mod similar, puteți specifica mai multe subrețele:

Permite de la *.*.*.0/12
Permite de la *.*.*.0/12

Dacă doriți să blocați accesul nu la întregul site, ci doar la o parte a site-ului, atunci fișierul .htaccess trebuie creat exact în folderul la care doriți să restricționați accesul. De exemplu, dacă doriți să protejați partea administrativă a unui site WordPress, atunci fișierul .htaccess ar trebui creat în directorul wp-admin. În linia Permite de la *.*.*.* ar trebui să specificați propria adresă IP.

Cum să vă aflați IP-ul și subrețeaua?

Pentru a vă determina IP-ul, utilizați serviciile pentru a determina IP-ul:

Pentru a clarifica subrețeaua, puteți utiliza următorul serviciu: ip-calculator.ru.

Dacă vă este dificil să determinați singur masca de subrețea necesară, contactați asistența.

Interziceți accesul la anumite adrese IP

Uneori poate fi necesar să restricționați accesul doar la anumite adrese IP. O astfel de nevoie poate apărea, de exemplu, dacă accesul la site-ul dvs. de la o anumită adresă IP este masiv și complică funcționarea site-ului, creând o încărcare crescută.

Pentru a bloca accesul la site-ul dvs. de la anumite adrese IP, adăugați următorul text în fișierul .htaccess:

Comanda permite, refuza
Permite de la toți
Deny from *.*.*.*

Înlocuiți *.*.*.* cu adresa IP necesară. În cazul descris cu solicitări în masă, serviciul de asistență de găzduire va ajuta la determinarea adresei IP a „vinovat”.

Aici, după cum puteți vedea, ordinea este inversată: mai întâi permitem accesul tuturor, apoi restricționăm accesul la anumite adrese IP. La fel ca în exemplul anterior, puteți specifica mai multe adrese IP (fiecare pe o linie separată), o întreagă subrețea sau mai multe subrețele. Fiecare adresă IP sau subrețea este scrisă pe o linie nouă.

Setați o parolă de acces pentru un folder sau subdomeniu

Să presupunem că aveți dosare pe site-ul dvs. care conțin conținut la care doriți să restricționați accesul. Sau creați un site web privat pe un subdomeniu. În ambele cazuri, o soluție potrivită ar fi setarea unei parole de acces.

Puteți seta o parolă pentru un folder direct din Panoul de control. Pentru a face acest lucru, faceți clic pe câmpul cu folderul dorit și selectați funcția „Protecție cu parolă”, apoi setați o parolă.

Dar în acest fel puteți seta o parolă doar pentru un anumit utilizator. Dacă aveți nevoie de o parolă pentru un cerc de persoane, fișierul .htaccess vă va ajuta din nou.

După cum vă amintiți, directivele din fișierul .htaccess se aplică doar folderului în care se află acest fișier și subfolderele sale (cu o singură excepție, pe care nu o vom lua în considerare acum). Prin urmare, pentru a seta o parolă pentru un anumit folder, creați un fișier .htaccess direct în el cu următoarele directive (și dacă un astfel de fișier există deja în el, adăugați-l pur și simplu la sfârșitul fișierului):

AuthName „textul_dvs”
AuthType Basic
Necesită utilizator valid
AuthUserFile „cala_completă_la_fișier_.htpasswd”

În prima linie (AuthName) în loc de „textul_dvs”, specificați orice mesaj care va fi afișat atunci când încercați să accesați directorul protejat. De exemplu: „Zonă privată” sau „Numai administratori” sau altceva la discreția dvs. Important! Valoare text în câmpul AuthName nu trebuie să conțină caractere chirilice sau speciale.

Linia Require valid-user înseamnă că numele de utilizator poate fi orice. Vă recomandăm să o lăsați așa. Cu toate acestea, puteți specifica opțional o listă de nume de utilizator care au permisiunea de a se conecta. Pentru a face acest lucru, în această linie după Require, ar trebui să indicați numele permise, separate prin virgulă. În acest caz, nu adăugăm Valid-user.

În ultima linie a AuthUserFile, trebuie să specificați calea completă către fișierul care conține parola de conectare și acces în formă criptată. În primul rând, un astfel de fișier trebuie creat și încărcat pe site.

Pentru a face acest lucru, creați un fișier nou în managerul de fișiere și denumiți-l.htpasswd (este necesar și punctul din nume). Fișierul trebuie creat în folderul domeniului pentru care setați parola (în folderul rădăcină, găsiți folderul domenii și domeniul dorit în acesta).

Pentru a genera un login și o parolă criptate, utilizați fie consola utility.htpasswd (această metodă este mai potrivită pentru un specialist), fie servicii terțe cu funcții similare, de exemplu, aceasta: Htpasswd-generator. Acesta din urmă este destul de simplu: setați o parolă și conectați-vă și obțineți un șir criptat. Această linie trebuie copiată și lipită în fișierul dvs. numit .htpasswd.

Să revenim la designul directivei. Calea către fișierul .htpasswd este specificată în format complet: /home/login/domains/domain.ru/.htpasswd

Un exemplu de directivă formatată corect:

AuthName „Zonă privată!”
AuthType Basic
Necesită utilizator valid
AuthUserFile /home/a0000001/domains/mydomain/.htpasswd

Dacă înțelegeți, puteți găsi mai multe informații despre setările .htaccess pe site-ul nostru. Și pentru utilizatorii și mai experimentați, puteți afla despre setările mai subtile ale htaccess din acest articol. De asemenea, vă reamintim că recent puteți ușor și independent

Permite accesul de la un anumit ip: ordinul permite refuzul
nega de la toti
permite de la<ваш ip>În acest caz, <ваш ip> indică o anumită adresă.
De exemplu: comanda permite refuzul
nega de la toti
permite de la 192.126.12.199

Interziceți accesul de la un anumit ip: ordinul permite refuzul
nega de la toti
nega de la<ваш ip>Utilizare <ваш ip> similar pentru exemplul de mai sus.

În funcție de ordinea în care sunt specificate directivele, logica de funcționare a serverului se schimbă. Dacă Deny, Allow, atunci accesul este interzis de la toate IP-urile, cu excepția celor specificate, dacă Allow, Deny, accesul este permis de la toate IP-urile, cu excepția celor specificate. Urmează secțiunile de descriere pentru acces și interzicere. Cuvânt cheie toateînseamnă de la toată lumea IP

De exemplu, vrem să refuzăm (blochăm) accesul de la IP 81.222.144.12 și 81.222.144.20 și permiteți tuturor celorlalți cărora trebuie să îi adăugăm .htaccess următorul cod:

Comanda Permite, Respinge
Permite de la toți
Refuza de la 81.222.144.12, 81.222.144.20

Pentru situația inversă când vrem să refuzăm accesul tuturor IP pe lângă 81.222.144.12 și 81.222.144.20 trebuie să adăugăm la .htaccess următorul cod:

Comanda Respinge, Permite
Negați din partea tuturor
Permite de la 81.222.144.12, 81.222.144.20

Pentru a permite doar anumite gazde sau grupuri de gazde să acceseze serverul, gazda poate fi specificată în oricare dintre următoarele formate:

  • pentru un nume de domeniu (sau o parte a acestuia): Permite de la apache.org
    Permiteți din .net example.edu
  • pentru adresa ip: Permite de la 10.1.2.3
    Permite de la 192.168.1.104 192.168.1.205
  • pentru o parte din adresa ip:
    Permite de la 10.1
    Permite de la 10 172.20 192.168.2
  • pentru perechea rețea/mască: Permite de la 10.1.0.0/255.255.0.0
  • pentru specificațiile de rețea/nnn CIDR:
    Permite de la 10.1.0.0/16

Interziceți un grup de fișiere prin mască:
comanda permite, refuza
nega de la toti
Determină accesul la un fișier prin extensia acestuia.
De exemplu, interzicerea accesului la fișierele cu extensii „inc” pentru vizitatorii web:

comanda permite, refuza
nega de la toti

În acest exemplu, serverul web Apache însuși poate accesa fișiere cu astfel de extensii.

Interzicerea unui anumit fișier:
Puteți bloca un anumit fișier după numele și extensia acestuia.
comanda permite, refuza
nega de la toti
În acest exemplu, accesul la fișierul config.inc.php este interzis.

Parola director: AuthName „Zonă privată”
AuthType Basic
necesită utilizator valid
Valoarea AuthName va fi afișată vizitatorului și poate fi folosită pentru a clarifica solicitarea de autorizare. Valoarea AuthUserFile indică locația în care este stocat fișierul cu parolele pentru accesarea acestui director. Acest fișier este creat de un utilitar special htpasswd.exe.

De exemplu, într-un director care este protejat cu o parolă, creăm următorul .htaccess: AuthName „Numai pentru utilizatorii înregistrați”
AuthType Basic
AuthUserFile /pub/site.ru/.htpasswd
necesită utilizator valid
În acest exemplu, atunci când un vizitator solicită un director, el va citi expresia „Numai pentru utilizatorii înregistrați”; fișierul cu parolele de acces ar trebui să fie în directorul /pub/site.ru/ și numit.htapasswd. Directorul este specificat de la rădăcina serverului; dacă specificați directorul incorect, Apache nu va putea citi fișierul .htpasswd și nimeni nu va avea acces la acest director.

Parola pentru un singur fișier:Mar, 09 februarie 2010 15:44:59 GMT+0300
Similar cu introducerea unei parole într-un întreg director, puteți pune o parolă pentru un singur fișier.
Un exemplu de setare a unei parole pentru fișierul private.zip:
AuthName „Zona utilizatorilor”
AuthType Basic
AuthUserFile /pub/home/your_login/.htpasswd

Parola pentru un grup de fișiere:
La fel, folosind , puteți seta parole pe baza măștilor de fișiere.
Un exemplu de setare a unei parole pentru accesul la toate fișierele cu extensia „sql”:

AuthName „Zona utilizatorilor”
AuthType Basic
AuthUserFile /pub/home/your_login/.htpasswd

Dacă instalați WordPress pe propria găzduire, atunci veți avea posibilitatea de a gestiona directorul rădăcină. Astăzi vreau să vă spun despre fișierul .htaccess, care este important din mai multe motive. Cu acesta, puteți seta diverse setări de securitate, adăugați condiții de redirecționare, blocați roboții, vă protejați propriul blog de spammeri și multe altele. Cu toate acestea, mulți utilizatori WordPress încă nu știu nimic despre .htaccess și despre cum să creeze unul special pentru WP. Astăzi vă voi prezenta numeroasele aspecte ale acestui fișier și, în viitor, vă voi împărtăși fragmente de cod utile și eficiente, concepute pentru a îmbunătăți securitatea blogului dvs.

Ce este un fișier .htaccess?

Htaccess nu este doar pentru WordPress, ci și pentru orice site web găzduit pe un server web Apache. La instalarea WordPress, acest fișier este creat implicit în cele mai multe cazuri, dar rămâne ascuns în directorul rădăcină al site-ului dvs. Există momente când acest fișier lipsește cu totul și atunci trebuie să creați manual fișierul .htaccess. Putem folosi un editor de text obișnuit pentru a actualiza sau șterge conținutul acestui fișier. În WordPress, conținutul standard al acestui fișier arată astfel:

# BEGIN WordPress RewriteRule ^index\.php$ – [L] RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_FILENAME) !-d RewriteRule . /index.php [L] # END WordPress

Dacă aveți o întrebare despre cum să editați link-uri profunde în WordPress și să le dați formatul /%postname? și chiar ați găsit un cod de lipit în fișierul .htaccess (dar nu puteți găsi fișierul în consola sistemului sau rădăcină) director) apoi astăzi vă voi arăta cum să rezolvați această problemă.

Cum se creează un fișier .htaccess pentru WordPress?

În majoritatea instalărilor WordPress, un fișier .htaccess este prezent implicit în directorul rădăcină. Dacă utilizați clientul FTP Filezilla, puteți consulta ghidul existent despre cum să editați fișierul .htaccess pentru ajutor. Tot ce trebuie să faceți este să faceți clic pe opțiunea pentru a afișa fișierele ascunse. Dacă fișierul de care avem nevoie lipsește cu totul, atunci îl puteți crea pur și simplu folosind notepad (htaccess.txt) și apoi îl redenumiți în .htaccess. Asigurați-vă că numele fișierului este exact acesta și nu .htaccess.txt. Dacă utilizați Windows, puteți dezactiva opțiunea de a ascunde extensiile de fișiere. Odată ce redenumiți fișierul, încărcați-l în directorul rădăcină WordPress și editați-l conform cerințelor dvs. Dacă aveți probleme la schimbarea numelui fișierului, pur și simplu încărcați fișierul htaccess.txt pe server și schimbați numele pe server.

Permisiunile standard de securitate pentru fișierul .htaccess sunt 644, dar dacă modificați legăturile directe prin consola WP, sistemului i se va refuza accesul la acest fișier. Le puteți schimba la 777. Dar asigurați-vă că apoi returnați valoarea la 644, altfel ar putea cauza găuri serioase de securitate în site.

fișier htaccess - setări și exemple de utilizare - 4,1 din 5 bazat pe 18 voturi

Fișierul htaccess vă permite să configurați și să suprascrieți setările serverului web Apache și ale serverelor similare. Cu ajutorul acestuia, puteți seta permisiuni și parametri pentru ca serverul să funcționeze pentru anumiți utilizatori de găzduire și chiar pe foldere individuale ale unui anumit utilizator.

Cel mai des este folosit pentru a crea redirecționări 301 de la URL-uri vechi la altele noi, reatribuirea tipului de fișier, acces controlat la director și multe altele. Datorită fișierului htaccess, nu este nevoie să accesați fișierul principal de configurare și să afectați întreaga funcționare a serverului.

Ce este un fișier htaccess și pentru ce este folosit?

După cum am menționat, htaccess este folosit pentru a seta unii parametri ai Apache și a altor servere. În ciuda extensiei mari și ciudate, personalizarea fișierului .htaccess se face prin deschiderea și modificarea conținutului acestuia folosind orice editor de text.

Fișierul htaccess a fost inventat special pentru a oferi posibilitatea de a schimba configurația serverului pentru fiecare utilizator, afectând doar propriul site, și nu întregul server. Toată lumea știe că principalele directive de configurare ale Apache se găsesc în fișierul httpd.conf. Cu toate acestea, majoritatea utilizatorilor, și dacă vorbim despre găzduire partajată, atunci toți utilizatorii, nu au posibilitatea de a-l accesa și drepturile de ao modifica, deoarece această acțiune se va aplica tuturor.

Un fișier cu extensia htaccess este adesea numit dinamic. Acest lucru se datorează faptului că serverul trebuie să îl acceseze de fiecare dată când trebuie să facă o cerere către directorul care îl conține. Poate că acesta este un avantaj semnificativ, deoarece modificările aduse fișierului de către utilizator vor intra imediat în vigoare, fără a fi nevoie să reporniți serverul. Dacă se fac modificări la fișierul de configurare principal, repornirea serverului este o condiție prealabilă pentru ca acestea să aibă efect.

Desigur, nu totul este atât de lin pe cât ne-am dori, deoarece utilizarea htaccess are un impact ușor asupra performanței serverului, totuși, în cazul accesului închis la fișierul de configurare principal, această metodă este cea mai simplă și mai convenabilă metodă de modificare a parametrilor .

Câteva caracteristici ale utilizării htaccess:

1. Vă permite să suprascrieți un număr mare de directive scrise în fișierul principal httpd.confg

2. Dacă plasați fișierul htaccess în directorul rădăcină, acesta va fi distribuit întregului site (singurele excepții vor fi acele directoare în care se află propriul fișier de configurare și directoarele situate mai jos în structura arborescentă)

3. Puteți plasa fișierul htaccess în orice director, iar directivele acestuia vor fi aplicate tuturor subdirectoarelor

4. Htaccess nu este disponibil utilizatorului pentru vizualizare din browser, deoarece aparține categoriei „sistem”.

Astfel, cu ajutorul htaccess, utilizatorul obține flexibilitatea de a-și configura propriul server și poate aplica următorii parametri:

  • Directive simple de redirecționare (redirecționare);
  • Directive complexe de redirecționare (mod_rewrite);
  • Pagini index;
  • Eroare de procesare;
  • Definirea codificarii;
  • Gestionarea accesului la directoare și fișiere;
  • crearea de parole a directorului;
  • Opțiuni PHP.

Exemple de utilizări frecvente ale fișierului htaccess

Acum ne vom uita la cele mai comune opțiuni de lucru pentru utilizarea htaccess pentru a configura un site web.

Înainte de a începe, vă rugăm să rețineți următoarele puncte:

2. Pentru a crea un nou fișier cu extensia htaccess, trebuie să deschideți notepad sau alt editor de text, să scrieți codul, să salvați fișierul, specificând extensia .htaccess (punct în față). Apoi, tot ce rămâne este să-l aruncați în directorul pentru care a fost destinat.

3. Syntax.htaccess

Căile către fișiere (directoare) sunt specificate de la rădăcina serverului.

DirectoryIndex /home/st5155/www/data/home.html

Dacă configurați un fișier htaccess aflat în folderul rădăcină al site-ului, căile sunt specificate din rădăcina acestui folder.

DirectoryIndex/home.html

Domeniile sunt scrise folosind protocolul http:// sau https://

Redirecționare / http://your-sait.ru

Fișierul se numește „punct” htaccess.

Pentru a crea o linie comentată, utilizați semnul #.

Cea mai convenabilă modalitate de a edita un fișier este cu editorul AkelPad inclus în Total Commander; doar selectați-l și apăsați F4.

Redirecționare simplă - directivă de redirecționare

1. Redirecționare către pagini noi de site

Dacă paginile de pe site au fost mutate la adrese noi, atunci un utilizator sau robot de căutare care vizitează adresa veche probabil nu le va vedea. Pentru a îmbina adresele vechi și noi ale paginii, puteți utiliza o simplă redirecționare 301. Pentru a face acest lucru, trebuie să scrieți următorul cod în fișierul de configurare htaccess:

Redirecționare 301 /staraya.html http://vash-sait.ru/novaya.html

2. Aducerea fluxurilor într-un format comun

Anterior, erau folosite diverse formate de feed, precum: Atom, RSS, Rdf. Astăzi, RSS este principalul și cel mai popular dintre ele, așa că se poate avea grijă să se asigure că alte formate sunt redirecționate într-unul singur. Pentru aceasta sunt folosite și fișierul htaccess și următorul cod:

RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://vash-sait.ru/feed/

Redirecționare complexă - directivă RewriteRule

1. Redirecționarea unui domeniu de la www la non-www.

Foarte des trebuie să utilizați redirecționări 301 în htaccess pentru a îmbina domeniile cu www și fără www. Anterior, motoarele de căutare considerau astfel de adrese ca fiind complet diferite și le priveau ca site-uri diferite. Astăzi, sarcina de lipire este atribuită robotului de căutare, dar nu este niciodată o idee rea să indicați oglinda corectă. În plus, nu va exista nicio confuzie pentru tine.

Opțiuni +FollowSymLinks RewriteEngine On RewriteCond %(HTTP_HOST) ^www.vash-sait\.ru$ RewriteRule ^(.*)$ http://vash-sait.ru/$1

2. Redirecționarea vizitatorilor către diferite pagini în funcție de adresa IP a vizitatorului.

În htaccess este posibil să specificați la ce pagină va fi redirecționat un utilizator cu o anumită adresă IP. De exemplu, redirecționarea vizitatorilor cu adresa IP 183.11.101.1 către pagina kontakt.html

SetEnvIf REMOTE_ADDR 183.11.101.1 REDIR="redir" RewriteCond %(REDIR) redir RewriteRule ^/$ /kontakt.html

3. Redirecționare în cazul actualizării resurselor web

În timpul testării sau actualizării resursei, utilizatorul nu va putea accesa site-ul. Cu toate acestea, ar fi greșit să nu-l avertizam despre acest lucru. În .htaccess puteți scrie cod care va redirecționa utilizatorul către o pagină de informații care descrie natura problemei (motive, calendar etc.).

RewriteEngine on RewriteCond %(REQUEST_URI) !/info.html$ RewriteCond %(REMOTE_HOST) !^14\.124\.354\.80 RewriteRule $ http://vash-sait.ru/info.html

Unde 14.124.354.80 - înlocuiți cu adresa dvs. IP.

4. Protecție Hotlink

Nu este un secret pentru nimeni că astăzi informațiile sunt furate de pe site-uri din ce în ce mai des. Uneori doar text și alteori împreună cu imagini grafice. Și de fiecare dată când un vizitator vine pe un site terță parte, aceste imagini vor fi încărcate de pe găzduirea dvs., creând o încărcare și arderea traficului. Pentru a preveni acest lucru, adăugați următorul cod:

RewriteEngine On RewriteCond %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http://([ -a-z0-9] \.)?vash-sait\.ru RewriteRule \.(gif|jpe?g| png)$ -

În exemplul de mai sus, pe site-ul de încărcare a imaginii va apărea o eroare 403; dacă doriți ca o anumită imagine să fie afișată în loc de imagine, atunci înlocuiți ultima linie cu următoarele:

RewriteRule \.(jpg|png|gif)$ http://vash-sait.ru/images/imageinfo.jpg

5. Redirecționați către o conexiune https securizată

În .htaccess se poate configura redirecționarea către o conexiune https securizată astfel încât toți utilizatorii să lucreze doar prin acest protocol, care garantează securitatea și fiabilitatea transferului de date între server și client.

RewriteEngine On RewriteCond %(HTTPS) !on RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)

6. Înlocuirea automată a unei bare oblice la sfârșitul adresei.

Situațiile foarte frecvente sunt când adresa URL se termină cu numele directorului: http://vash-sait.ru/images/raznoe

Apache poate remedia în mod independent eroarea și poate face o redirecționare 301 adăugând bara oblică lipsă la link. Astfel, utilizatorul nu va simți nicio diferență și va primi ca răspuns pagina necesară. Dar va dura de două ori mai mult pentru a finaliza această acțiune. Următorul cod va adăuga întotdeauna / la sfârșitul adresei.

RewriteCond %(REQUEST_URI) /+[^\.]+$ RewriteRule ^(.+[^/])$ %(REQUEST_URI)/

7. Blocarea utilizatorilor care au venit de pe un anumit site

Dacă proprietarul site-ului nu dorește ca resursa sa să fie vizitată de utilizatorii autentificați dintr-un anumit domeniu și trebuie să le blocheze accesul, htaccess este, de asemenea, gata să ajute. Puteți bloca traficul de pe anumite site-uri folosind o pagină 403 sau „interzice acces”. Această setare este utilă atunci când linkurile către site-ul dvs. apar de pe site-uri cu conținut interzis și traficul circulă prin acestea către site-ul dvs.

RewriteEngine on RewriteCond %(HTTP_REFERER) zapretnui-sait.com RewriteCond %(HTTP_REFERER) zapretnui-sait.com RewriteRule .* - [F]

Pagini index - directivă DirectoryIndex

1. Modificarea paginii index implicite încărcate

De obicei, paginile de index implicite sunt index.htm, index.php sau index.html; la accesarea directorului site-ului, aceste fișiere sunt căutate imediat. Dar, dacă este necesar, puteți redefini pagina de index la oricare alta. O problemă similară poate fi rezolvată și folosind un fișier htaccess.

DirectoryIndex pagina mea.html

Este posibil să specificați două sau mai multe pagini. Merită să luați în considerare faptul că acestea vor fi căutate în ordinea în care sunt listate în fișierul de configurare din spatele directivei DirectoryIndex.

DirectoryIndex index.shtml index3.php index.html index.htm

Gestionarea erorilor - Directiva ErrorDocument

1. Pagina de eroare personalizată

În ciuda faptului că multe site-uri web încă folosesc pagina de eroare standard 404, este puțin probabil să satisfacă utilizatorul care nu primește rezultatul așteptat și în schimb vede informații care sunt de neînțeles pentru el. Este necesar să se propună o pagină care să corespundă stilului principal, care va afișa informații mai detaliate despre motivele executării nereușite a cererii. Pentru a face acest lucru, puteți specifica în htaccess ce fișier să încărcați în locul paginii standard de eroare 404.

ErrorDocument 404 „/404.html”

2. Crearea propriilor pagini de eroare

Pentru cei care s-au săturat de paginile obișnuite care afișează o descriere a erorilor apărute pe site, au posibilitatea de a folosi propriile șabloane. Trebuie doar sa creezi singur mai multe fisiere cu rezolutie *.html, cu continutul necesar, si sa faci o intrare in fisierul htaccess.

ErrorDocument 401 /errors401.html ErrorDocument 403 /errors403.html ErrorDocument 404 /errors404.html ErrorDocument 500 /errors505.html

Pentru a ști ce să puneți pe fiecare pagină de eroare, vom descrie pe scurt semnificațiile acestora.

  • 401 - Este necesară autorizarea
  • 403 - utilizatorul nu a fost autentificat, accesul este interzis (interzis)
  • 404 - documentul solicitat (fișier, director) nu a fost găsit (Negăsit)
  • 500 - eroare internă de server - eroare de script sau eroare în sintaxa fișierului .htaccess - (Eroare de server intern)

Definiție codificare

1. Determinarea codificării în care serverul „trimite” fișiere

Pentru a vă asigura că utilizatorul nu vede simboluri care sunt de neînțeles pentru el pe afișajul monitorului, din care nu este posibil să citească cuvinte, este necesar să specificați codificarea corectă. Chiar și fără etichetă< Мета http-equiv = "Content-Type">textul de pe pagină va fi întotdeauna corect și fișierul htaccess va ajuta din nou la acest lucru.

AddDefaultCharset UTF-8

2. Determinarea codificării fișierelor descărcate

O situație similară poate apărea atunci când un utilizator încarcă un fișier pe server și conținutul acestuia poate fi re-codificat. Pentru ca codificarea necesară să fie utilizată, htaccess trebuie să conțină cod care indică faptul că toate fișierele descărcate vor trebui deschise cu codificare UTF-8.

CharsetSourceEnc UTF-8

Gestionarea accesului la directoare și fișiere

1. Interziceți accesul la toate fișierele

Cel mai simplu mod de a preveni vizualizarea unui fișier este să setați o parolă, dar aceasta nu este întotdeauna suficientă. În unele cazuri, utilizatorul nu ar trebui să aibă drepturi de a vizualiza fișiere sau directoare (de exemplu, trebuie să blocați directoarele de sistem, modificări în care pot înrăutăți performanța serverului). Fișierul htaccess conține o bucată de cod care privează utilizatorii de toate privilegiile.

2. Permite accesul de la o anumită IP

Mulți utilizatori de server Apache folosesc fișierul de configurare htaccess pentru a configura site-ul. Pe de o parte, această decizie nu poate fi numită înțeleaptă și utilă, deoarece un fișier htaccess prea umplut poate dăuna vitezei serverului. Dar unele opțiuni din acest document de configurare sunt dificil de configurat fără a utiliza fișierul htaccess, de exemplu, restricționarea accesului la un fișier, director sau site în ansamblu. În articolul de mai jos, veți afla cum să utilizați această caracteristică de fișier htaccess și pentru ce este.

Cine are nevoie de refuzul accesului și cum să-l folosească

Merită să luați în considerare faptul că fișierul htaccess vă permite nu numai să refuzați accesul la întregul site simultan, ci și să creați liste albe și negre de utilizatori. Adică, puteți, de exemplu, să blocați accesul pentru unele IP-uri. În același mod, puteți elimina interdicția numai pentru IP-urile pe care le selectați, creând astfel o listă albă de utilizatori. Dar de ce să folosiți această funcție?

Uneori, circumstanțele sunt de așa natură încât nimeni nu ar trebui să aibă voie în apropierea site-ului. De exemplu, când se efectuează lucrări tehnice importante asupra acestuia. În acest moment, puteți bloca accesul pentru fiecare utilizator, cu excepția IP-ului dvs. Apoi, vizitatorii nu vor fi prezenți pe resursă atunci când aceasta este într-o stare instabilă. În plus, folosind o listă neagră de utilizatori, puteți interzice accesul la site pentru IP-ul vizitatorilor neprietenosi care spam, inundă, înjură și rostesc nume rele despre portalul dvs.

În acest fel, vă puteți închide site-ul de la oaspeții nedoriți creând ceva de genul unei liste de interdicție. Și fișierul htaccess cu directivele sale de neînlocuit vă va ajuta cu toate acestea.

Cum să interziceți accesul la un fișier, director, site web prin htaccess

Pentru a controla nivelul de acces la un site, fișier sau folder, va trebui să utilizați directivele Deny și Allow. Prima directivă este necesară pentru a refuza accesul, iar a doua este necesară pentru a permite. Multe dintre aceste directive depind de locul în care plasați fișierul htaccess. Dacă se află în directorul rădăcină, atunci interdicția sau permisiunea se va aplica întregului site. Dacă descărcați htaccess într-un folder, atunci opțiunile Deny și Allow se vor aplica directorului în care se află, precum și folderelor interne. Exact așa este blocat accesul la anumite directoare și secțiuni ale site-ului.

Sintaxa directivelor deny and allow este extrem de simplă. Opțiunea ar trebui să înceapă cu linia Order Deny, Allow. Indică activarea funcțiilor Deny și Allow. Și în rândurile următoare trebuie să indicați în mod specific ce condiții de acces intenționați să setați. Deci, pentru a bloca accesul pentru toată lumea, trebuie să scrieți doar două rânduri:

Order Deny,Allow - deschiderea unei funcții.
Negați de la toți - specificarea regulii.

Linia de jos spune: „Refuză (nega) pentru (de la) toți (toți).” Exact în același mod, puteți scrie Permite în loc de Respinge pentru a activa opțiunea opusă. Dar, deoarece această opțiune este activată implicit, nu are rost să o specificați suplimentar în htaccess. Allow from este folosit mai degrabă pentru a indica excepții, adică pentru a crea o listă albă de utilizatori.

Pentru a deschide accesul doar la unele IP-uri, trebuie mai întâi să închideți site-ul sau directorul pentru toți ceilalți. Iată un exemplu de creare a unei liste albe pentru două adrese IP:

Comanda Respinge, Permite
Negați din partea tuturor
Permite de la 136.68.81.3, 135.67.82.1 - scrie IP separat prin virgule.

Prin analogie cu funcția scrisă, puteți bloca doar anumite adrese IP. Doar pentru aceasta va trebui să înregistrați mai întâi permisiunea pentru toată lumea prin Permite de la toți și apoi să specificați prin Interzice de la adrese IP sau numele gazdelor pentru care accesul este strict interzis.

Pentru a restricționa drepturile asupra unui fișier prin blocarea accesului, trebuie să creați un document htaccess separat și să-l plasați în directorul în care este conținut fișierul. Directiva deny pentru un fișier arată aproape la fel cu opțiunea de restricție de acces pentru un site sau director. Singura diferență este că aveți nevoie de o etichetă specială pentru a restricționa fișierul. În eticheta de deschidere trebuie să indicați numele obiectului la care ar trebui restricționat accesul. Iată un exemplu de interdicție pentru toți utilizatorii la fișierul passvd.txt:

Etichetă cu numele fișierului
Comanda Deny,Allow - deschiderea unei opțiuni
Negați de la toți - regula directivă
- eticheta de inchidere

Acum tot ce trebuie să faci este să plasezi htaccess în directorul care conține fișierul passvd.txt și nimeni nu îl va putea accesa prin intermediul site-ului. După cum arată practica, accesul la un fișier nu este de obicei blocat complet, dar sunt specificate excepții pentru adresele IP de încredere. De exemplu, puteți specifica o restricție pentru toată lumea, cu excepția IP-ului dvs., astfel încât să puteți descărca apoi un fișier cu parole. Iată un exemplu de astfel de restricție:


Comanda Respinge, Permite
Negați din partea tuturor
Permite de la 144.66.55.2

Dacă directorul nu conține un fișier pe care trebuie să îl protejați, ci mai multe, atunci puteți scrie mai multe directive pentru fiecare obiect în parte. Dar este incomod. În plus, multe opțiuni din htaccess încarcă serverul, deci este mult mai rezonabil să activați o altă blocare - interzicerea accesului după tipul de fișiere din director, și nu după numele acestora. Va trebui să utilizați exact aceeași construcție directivă, doar că în locul numelui fișierului trebuie să utilizați simbolul „|”. indicați extensiile pe care utilizatorii nu le vor putea descărca din acest dosar. Iată un exemplu de etichetă de interdicție pentru încărcarea imaginilor cu un anumit format:


Directive

Pentru a interzice alte formate, trebuie doar să schimbați numele extensiilor dintre paranteze. Acest lucru este ușor de făcut, la fel ca și specificarea unei liste albe sau negre de utilizatori. Construcția în sine între ghilimele rămâne întotdeauna aceeași.

Vă rugăm să rețineți că mulți utilizatori nu folosesc un IP static, ci unul dinamic, așa că specificarea unei adrese în interdicție este stupidă. Este mai logic să includeți o serie de adrese IP în interdicție. Pentru a face acest lucru, găsiți serviciul Whois și determinați CIDR-ul adresei IP, apoi indicați-l în interdicție. Apoi, chiar dacă adresa este schimbată temporar, utilizatorul nu se va putea autentifica în portal.