Data postarii 2012-05-17      Subiect: Tutorial .htaccess      Categorie: Linux

 Tutorial .htaccess

 

      Inainte de a crea si utiliza fisierul .htaccess aflati daca aveti dreptul sa-l folositi pe server. Comenzile din .htaccess vor actiona asupra tuturor fisierelor si subdirectoarele din directorul in care se afla. Fiecare comanda va fi scrisa pe un singur rand, pentru aceasta dezactivati in editorul de text functia “wrap text”. Pentru a putea verifica cele prezentate aici va recomand sa creati un director nou pe server care sa contina fisierul .htaccess pentru probe, deoarece in cazul nefunctionarii sa nu afecteze directoare importante ci numai pe acela.

 

Protejarea unui director cu parola

 

      Pentru aceasta vom folosi doua fisiere speciale .htaccess si .htpasswd .htaccess nu poate fi creat in mediul Windows deoarece nu permite generarea fisierelor al carui nume incepe cu caracterul punct. Singura varianta este conectarea pe server folosind un client FTP si crearea fisierului cu numele .htaccess In mediul UNIX, Linux fiserul poate fi creat si editat fara probleme.

 

Fisierul are sintaxa:    

 

AuthUserFile calea_catre_fisierul_cu_parole/.htpasswd    

AuthName Mesaj   

AuthType Basic   

require user user_name

 

      Prima linie arata calea catre fisierul cu parolele de autentificare (.htpasswd). A doua linie stabileste ce mesaj va fi afisat in pagina de autentificare. In ultima linie user_name este user-ul care dorim ca browserul sa-l accepte ca un nume valid pentru parola Daca sunt mai multi useri abilitati sa acceseze directorul ultima linie se va scrie astfel: require valid-user Fisierul .htpasswd se creaza din linie de comanda introducand numele fisierului, username si parola asociata acestuia. Pentru server Apache instalat sub Windows Start - Run - cmd - Enter din linie de comanda se schimba directorul (comanda cd) pina la locatia unde se afla htpasswd.exe (uzual folderul Apache/bin), apoi se tasteaza:    htpasswd -c .htpasswd user_name se apasa Enter, apoi se solicita introducerea parolei dorite de doua ori Parametrul -c indica crearea fisierului .htpasswd daca el nu exista. user_name va fi acelasi cu cel din penultima linie din fisierul .htaccess

 

Fisierul cu parole .htpasswd:    va fi creat in acelasi folder cu executabilul htpasswd.exe.    

 

- daca doriti puteti sa-l mutati in alta parte  

- puteti sa-l denumiti oricum Daca-l veti muta sau redenumi nu uitati sa modificati locatia si numele in prima linie din fisierul .htaccess Daca doriti puteti acredita mai multi useri pentru accesarea directorului protejat. Daca fisierul nu este creat folositi parametrul -c la primul user, la urmatorii useri folositi aceeasi comanda dar fara -c.

 

Continutul fisierul .htpasswd este de forma:    

 

- user1:parola_pentru_user1_criptata_cu_md5    

- user2:parola_pentru_user2_criptata_cu_md5

 

      Se observa ca parola nu este pastrata in clar ci in forma criptata. Pentru securitate puteti plasa fisierul cu parola intr-un director care nu este vizibil din Internet, recomandat undeva deasupra directorului radacina a serverului web.

 

Fisier configurare server Apache

 

      Pentru ca aceasta modalitate de protectie cu parola sa functioneze este necesara si o modificare in fisierul de configurare httpd.conf a serverului Apache.

 

Cautati in fisier unde apare:    

 

      AllowOverride None precedat de un comentariu (marcat cu #) despre .htaccess. Se va modifica din None in All

 

Pagini de eroare

 

      Puteti personaliza paginile de eroare functie de numarul erorii generat adaugand in fisierul .htaccess urmatoare linie:    

ErrorDocument numar_eroare /fisier_eroare.html Pagina de eroare poate avea orice nume dar trebuie declarata calea corecta catre ea.

      Daca fisier_eroare.html nu se afla in acelasi folder cu fisierul .htaccess se adauga calea:    ErrorDocument numar_eroare /cale_fisier/fisier_eroare.html

 

 

      Cele mai comune erori sunt: numar_eroare Semnificatie    400 Bad Request    401 Authorization Required    403 Forbidden    404 Not Found    500 Internal Server Error. Daca doriti puteti introduce in .htaccess mai multe randuri corespunzatoare mai multor tipuri de erori. Blocarea afisarii listei de fisiere dintr-un director Putem avea dintr-un anumit motiv un director fara fisier index. Daca dorim sa accesam acel folder cu un browser va fi afisata lista de fisiere continute. Aceasta este considerata ca o hiba de securitate pentru server.

 

      Pentru a preveni acest lucru se adauga in .htaccess urmatoarea linie: Options -Indexes Acces permis/interzis pentru anumite adrese IP In unele situatii putem dori ca numai anumite persoane cu adrese IP cunoscute sa poata sau sa nu poata accesa site-ul. Pentru a permite accesul se adauga aceasta linie in fisierul .htaccess: allow from xxx.xxx.xxx.xxx unde xxx.xxx.xxx.xxx este adresa IP careia i-a fost acordat accesul la site. Pentru a bloca accesul se adauga aceasta linie: deny from xxx.xxx.xxx.xxx unde xxx.xxx.xxx.xxx este adresa IP careia i-a fost interzis accesul la site. Daca se doreste interzicerea accesului pentru orice vizitatator: deny from all Fisiere index alternative Daca nu doriti ca fisierul index sa fie index.html sau index.htm puteti adauga urmatoarea linie in fisierul .htaccess mentionand ordinea in care ele vor fi interpretate (de la stanga la dreapta): DirectoryIndex index.php index.html wellcome.html.

 

Redirectarea

 

      Daca se doreste redirectarea catre un alta locatie se adauga o linie in .htaccess astfel: Redirect calea_fisier/fisier_actual.ext http://www.dlsit.ro/fisier_nou.ext Sintaxa pentru redirect contine trei parti: redirect, pagina veche si pagina noua. Intre aceste blocuri este un singur spatiu si sunt toate scrise pe acelasi rand. Pentru redirectarea oricarui fisier dintr-un director accesat catre un alt fisier: Redirect calea_director/director_actual http://www.dlsit.ro/director_nou Aceasta facilitate isi gaseste utilitatea de exemplu atunci cand se schimba serverul de gazduire.

www.dlsit.ro   >> design - linux - servicii - it.ro Pentru orice problema tehnica contactati-ne