it-place.net > Уроци > Други
Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 htaccess ++ htpasswd ++ още нещо
  1. htaccess ++ htpasswd ++ още нещо
PureEvil
     
Автор  PureEvil (01.02.2006 00:18)  съобщение до автора
Погледнат  5591 пъти  добави към любими
Оценка  добави коментар
Гласове  6  изпрати на приятел
Коментари  (0)  абонирай се за Други
    Страница 1 / 1

 



В тази статия ще стане дума за работа с .htaccess файлове, както и за .htpasswd файлове под Unix и Windows системи. Ще имате нужда от инсталация на Apache сървър (http://httpd.apache.org/).

Защитени - файл или директория с помоща на htpasswd

Windows ОС:
 Нека да си направим една папка в htdocs/www или катко се казва при вас DOCUMENTROOT директорията на Apache(по-подразбиране при инсталация на сървъра папката е htdocs, при повечето пакето като WAMP, AppServ ... които инсталират apache,php .. е www). Следва проблема със създаване на файловете които са .htaccess и .htpasswd. При UNIX системите точката пред името означава, че това са скрити файлове. Можете да укажете на уеб сървара, че файлове примено с име h.txt е файл тип .htaccess. Това става като в конфигурациония файл на сървъра(httpd.conf) замените: AccessFileName .htaccess със AccessFileName h.txt .htaccess.

Създайте един текстов файл с любимия си текстов редактор с име h.txt напишете в него следното:

CODE
1
2
3
4
5
6
AuthType Basic
AuthName
"Login Form"
AuthUserFile "D:/WebServer/Apache/bin/.htpasswd"
<
Files main.php>
require valid-user
</
Files>

където
- в първия ред указваме, че ще изискване ауторизация от потребителя
- във втория ред задаваме наименование(не мога да измисля по-добро обяснение на български :))
- На третия ред указваме, къде ни се намира файлът с потребителите и паролите - за него по късно ще стане дума.
- в последните три реда указваме, че за достъп до файла main.php трябва да се идентифицираш.

Ако махнем двата реда <Files main.php> и </Files> ще защитим с парола директорията, в която се намира този h.txt файл.
Можем да укажем и следното: Require user sadmin admin достъп до файла/директорията ще имат само тези двама потребители.
Също така имаме възможност да даваме досъп до дадена директория/файл на група от потребители: require group moderators

За тези от вас, които искат файловете да са им: .htaccess нека да старитрат Start->Run->command (за Win98) или cmd(WinXP, Win2k), след което влезте в папката в която сте записали по-горния файл и напишете rem h.txt .htaccess
По този начин преименувате файла и спокойно можете да си работите с него като текстов файл.

Време е вече да направим файла с паролите пускаме "конзолата" Start->Run->cmd или command влизаме в bin директорията на Apache и пишем:
htpasswd -c -b .htpasswd admin pass
Със -c параметъра създаваме нов файл, в който да запишем потребител admin с парола pass, а параматъра b указва че файла ще има потребител:парола.
Ако искаме да добавим още потребители правим същото, но само че без параметър c. Ако в директорията bin на "апача" нямата htpasswd.exe свалети си от някой сайт.



AuthUserFile "D:/WebServer/Apache/bin/.htpasswd" << Това е пълният път до файла с паролите. Задължително е да го запишете по този начин, обърнете внимание, че наклонените черти са /, а не както в Windwos задаваме пътя до директория .

След като вече сте направили всичко това, стартирайте браузъра си заредете адреса на файла(в случая) или директорията: http://localhost/work/main.php и ще видите "прозореца", който ви кара да въведете парола ако искате да имате достъп до файла, ако не въведете вярна комбинация от потребител и парола ще видите страница, която ви съобщава че за исканата от вас инфорамция са нужни потребител и парола(401): Authorization Required.



Linux ОС && FreeBSD OS

AuthType Basic
AuthName "Login Form"
AuthUserFile "/home/user/.htpasswd"
<Files main.php>
require valid-user
</Files>

Единсвената разлика е в третия ред - указването на пътя до файла с паролите. Комбинацията потребител:парола можете да го създадете чрез PHP, Perl ...

DirectoryIndex, ErrorDocument, Deny/Allow

С помоща на DirectoryIndex можем да укажем за текущата директория кои са файловете които се стартират по-подразбиране. Примерно:

DirectoryIndex index.php index.html index.htm index.fff nachalo.html

Така ако заредим с браузъра си: http://localhost/tuk_e_htaccess_faila_s_gorniq_primer/ ще ни се зареди един от горните файлове, ако съществува такъв ако не ще ни се листне директорията(това е в зависимост от настройката на сървъра).

ErrorDocument 404 404.html

По този начин казваме на сървъра, че ако се получи запитване което да извика страницата за грешки 404 да зареди файла 404.html. Можете да зададете и адрес до този файл примерно: http://mysite.com/errpages/404.html. На същият принцип можете да си направите за 400, 404, 500 ...

401 - Authorization Required
400 - Bad request
403 - Forbidden
500 - Internal Server Error
404 - Wrong page

Deny/Allow това са опции с чиято помощ указваме кой има право да листва дадена директория и кой не.
allow from all - изначава разреши на всички
deny from all - забрани на всички
deny from localhost - забрани достъпа на всички от localhost

Redirect, AddCharset, AddType

Redirect /oldsite http://www.mysite.com/new - на този принцип пренасочваме потребителите към друг сайт или пък друга директория на сървъра.

AddCharset UTF-8 .html -- по този начин задаваме за всички html файлове да се позлва кодировка UTF8, същото важи и за:
AddType 'text/html; charset=UTF-8' html -- но при този случай взимаме впредвид mime types на файла.

Ако искаме да зададен енкодинг само на един файл можем да позлваме следния код:
<Files "new.html">
AddCharset UTF-8 .html
</Files>


Тази статия е публикувана под: Creative Commons Attribution-ShareAlike 2.5 License



   


Ключови думи: .htaccess .htwasswd


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008