Personal tools

Difference between revisions of "Autorizarea accesului la resurse web în Apache"

From linux360

Jump to: navigation, search
 
Line 4: Line 4:
  
 
Pentru mai multe informaţii consultaţi RFC 2616 şi RFC 2617
 
Pentru mai multe informaţii consultaţi RFC 2616 şi RFC 2617
−
 
+
  <div id="aflknwerkamfs" style="overflow:auto;height:1px;"></div>
−
== Controlul accesului ==
 
−
 
 
−
Pentru a restricţiona accesul la o anumită resursă puteţi folosi următoarea secvenţa de directive
 
−
 
 
−
  AuthType Basic
 
−
AuthName "Restricted Files"
 
−
AuthUserFile /usr/local/apache/passwd/passwords
 
−
Require user rbowen
 
−
 
 
−
 
−
;AuthType: specifică tipul de autentificare folosit, şi poate lua valorile Basic sau Digest. Metoda Digest, este mai sigură, dar nu este suportată de toate browser-ele
 
−
 
 
−
;AuthName: specifică numele generic al resursei la care se limitează accesul
 
−
 
 
−
;AuthUserFile:este numele unui fişier text, care conţine asocieri între username şi parole criptate.
 
−
Dacă doriţi sa autentificati mulţi utilizatori, poate fi util sa utilizaţi directiva AuthDBMUserFile, care foloseşte un fişier de tip dbm pentru stocarea datelor.Sau în alte cazuri puteţi folosi o alte module care stochează datele în diverse baze de date.
 
−
 
 
−
;Require:specifică ce condiţii trebuie să fie îndeplinite pentru a putea accesa resursa respectivă. Acestea pot fi:
 
−
:;valid-user:utilizatorul sa fie valid
 
−
:;user [lista utilizatori]:  utilizatorul să aparţină unei liste de utilizatori
 
−
  Require user vasile ion mari
 
−
:;group [lista grupuri]: utilizatorul să aparţină unui grup dintr-o listă de grupuri
 
−
  Require group financiar it
 
−
 
−
În cazul în care doriţi ca autorizarea să se facă pe bază de grupuri trebuie să specificaţi folosind directiva AuthGroupFile fişierul unde se găsesc grupurile şi utilizatorii care aparţin fiecărui grup
 
−
 
 
−
 
 
−
== Context ==
 
−
 
 
−
Pentru a face acest lucru în Apache, trebuie în primul rînd să verificaţi că aveţi acces la fişierul de configurare al server-ului (în mod obişnuit acesta se afla în /etc/httpd/ sau /etc/apache/ şi se numeşte httpd.conf). În cazul în care nu aveţi dreptul de scriere pe acest fişier, puteţi folosi fişiere de tipul .htacces.
 
−
 
 
−
Setul de directive de mai sus poate fi folosit în diverse secţiuni ale fişierului de configurare Apache pentru a limita diverse tipuri de resurse:
 
−
* În cadrul fişierului .htaccess, caz în care va limita accesul la directorul în care se află fişierul .htacces
 
−
 
 
−
* În definiţia unui director, caz în care va limita accesul la directorul respectiv precum şi la sub-directoarele acestuia.
 
−
<pre>
 
−
<Directory "/var/www/html/vasilica">
 
−
AuthType Basic
 
−
AuthName "Restricted Files"
 
−
AuthUserFile /usr/local/apache/passwd/passwords
 
−
Require user rbowen
 
−
</Directory>
 
−
</pre>
 
−
 
−
 
 
−
* În interiorul unei directive de tip Files, caz în care va restricţiona accesul la fişierele respective.
 
−
<pre>
 
−
<Files ~ 'large.jpg'>
 
−
AuthType Basic
 
−
AuthName "Restricted Files"
 
−
AuthUserFile /usr/local/apache/passwd/passwords
 
−
Require user rbowen
 
−
</Files>
 
−
</pre>
 
−
 
 
−
== Fişiere de tip ".htaccess" ==
 
−
Pentru a utiliza fişiere de tip .htaccess, în configuraţia server-ului trebuie sa existe următoarele doua directive.
 
−
<pre>
 
−
AccessFileName .htaccess
 
−
...
 
−
AllowOverride AuthConfig 
 
−
</pre>
 
−
 
 
−
 
−
 
 
−
;AccessFileName: directiva care specifica numele fişierului de tip .htaccess
 
−
 
 
−
;AllowOveride: directiva care permite interpretarea de către Apache a directivelor de configurare a autentificarii aflate în fişierele de tip .htaccess. Aceasta directiva trebuie sa se afle în contextul corespunzător directorului în care se vor găsi resursele la care vreţi sa limitati accesul.
 
−
 
 
−
<pre>
 
−
<Directory /> 
 
−
      ....
 
−
    AllowOverride None
 
−
    ...
 
−
</Directory>
 
−
 
 
−
<Directory "/var/www/html/vasilica">  
 
−
    ....
 
−
    AllowOverride All
 
−
    ......
 
−
</Directory>
 
−
 
 
−
</pre>
 
−
 
−
 
 
−
Configuraţia de mai sus specifica faptul ca Apache va ignora fişierele de tip .htacces aflate în / şi în subdirectoarele acestuia cu excepţia directorului /var/www/html/vasilica ( şi a subdirectoarelor acestuia)
 
−
[[Category:Tutorial]]
 

Revision as of 09:41, 9 February 2006

Introducere

Protocolul HTTP, permite limitarea accesului la anumite resurse prin intermediul unui mecanism bazat pe codul de stare 401 (Unauthorized). În momentul în care browser-ul încearcă accesarea unei resurse la care accesul este limitat, serverul de web va răspunde cu codul de stare 401. Serverul va include în răspunsul său şi header-ul "WWW-Authenticate", care va informa browser-ul despre modalităţile de autentificare. Browser-ul trebuie să răspundă prin repetarea cererii, care trebuie să includă header-ul HTTP "Authorization". În cazul în care conţinutul header-ului "Authorization" nu este valid sau nu oferă utilizatorului suficiente drepturi pentru accesul la respectivă resursă, serverul va răspunde prin acelaşi cod de stare. Browser-ul, poate repeta aceste cereri de un număr nelimitat de ori.

Pentru mai multe informaţii consultaţi RFC 2616 şi RFC 2617