|
|
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]]
| |
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.