Una dintre sarcinile standard care poate fi rezolvată prin utilizarea .htaccess este restricționarea accesului la un anumit director de pe server. De exemplu, trebuie să acordați acces la un anume director vizitatorilor individuali, oferindu-le o autentificare și o parolă unice.

În directorul la care dorim să restricționăm accesul prin parolă, creăm un fișier .htaccess cu următoarele directive:

AuthType Basic

AuthName "Some Name"

AuthUserFile /home/uXXXXX/.htpasswd

require valid-user 

Calea  /home/uXXXX/ .htpasswd indică calea completă către fișierul cu parole de pe discul serverului nostru. Dacă, de exemplu, plasați fișierul .htpasswd (va conține parole) în directorul dvs. de acasă, unde ajungeți prin conectarea la server prin FTP, atunci calea către acest fișier va arăta ca  /home/uXXXXX/.htpasswd , unde  uXXXXX  este numele site-urilor dvs. virtuale (de exemplu,  u12345 ).

În directiva AuthUserFile specificăm calea absolută către fișierul cu login/parole, pe care o vom crea puțin mai târziu. Dacă creați fișierul .htaccess pe computer, și nu direct pe server folosind un editor de text, vă rugăm să rețineți că .htaccess trebuie transferat prin FTP strict în modul text (ASCII).

Creați un fișier cu parole. Fișierul cu parole ar trebui să conțină linii precum login: password . Parola trebuie criptată folosind algoritmul MD5. O modalitate de a crea un astfel de fișier este să folosiți programul inclus cu  Apache  – htpasswd (pe serverul nostru se află în  directorul /usr/local/bin/  , calea completă este  /usr/local/bin/htpasswd ).

Să ne uităm la cum să creați un fișier de parolă în shell-ul Unix direct pe server. Să mergem la shell și să executăm următoarele comenzi:

  • htpasswd -mbc .htpasswd user1 sNQ7j9oR2w
  • creați un nou fișier .htpasswd, la care adăugam o intrare pentru utilizatorul user1 cu parola specificată pe linia de comandă. Asigurați-vă că înlocuiți sNQ7j9oR2w cu orice parolă proprie – această parolă este afișată aici doar ca exemplu.
  • htpasswd .htpasswd user2

Adăugați user2 la fișierul .htpasswd existent și introduceți parola manual ca răspuns la cererea corespunzătoare a programului.

Dacă utilizați Windows și nu doriți să utilizați shell-ul unix pentru a genera parole, puteți descărca versiunea Windows a programului htpasswd de aici și puteți crea un fișier cu parole pe computer, apoi îl puteți încărca pe server. Dacă aveți deja instalată o versiune Windows de Apache, fișierul htpasswd.exe poate fi găsit în directorul Program  Files\Apache Group\Apache\bin\  .

Deci, obțineți htpasswd.exe și utilizați-l pentru a genera parole ca aceasta:

htpasswd.exe -mc .htpasswd user1

creați un nou fișier de parole htpasswd.exe, parola și confirmarea acesteia vor fi solicitate interactiv

htpasswd.exe -m .htpasswd user2

adăugați utilizatorul user2 la fișierul de parole existent htpasswd.exe, solicitând parola în mod interactiv.

După ce toate conectările au fost create, fișierul trebuie să fie încărcat pe server.