This page has been robot translated, sorry for typos if any. Original content here.

Файл налаштування доступу до сервера .htaccess

сайтостроєніє

Файл налаштування доступу до сервера. htaccess

Автор: Максим Приходько
Опубліковано 30 листопада 2005 року

Так як серед серверних систем найбільш популярна операційна система Unix, то і найпоширеніший сервер не MS IIS , а Apache (версія якого, правда, існує і для Windows).

Коли в рядку браузера вводиться ім'я вашого сайту, саме сервер вирішує, які файли показувати і як. А управляти роботою сервера щодо веб-сайту можна маніпулюючи файлом настройки. htaccess, будь-яка зміна якого негайно вступає в силу.

Синтаксис. htaccess має жорстку структуру, недотримання якого призводить до помилок сервера, тому необхідно виконувати наступні дві вимоги:

  1. Шляхи до файлів (директорій) вказуються від кореня сервера. Наприклад: / opt / home / www.mysite.ru / htdocs / config /. htpasswords

  2. Домени вказуються із зазначенням протоколу. Наприклад: Redirect / http://www.site.ru

Файл повинен називатися саме "точка" htaccess і бути записаний в UNIX-форматі. У FAR, наприклад, при редагуванні можна натиснути Shift + F2 і вибрати пункт меню "Зберегти як UNIX-текст".

Наведемо прості приклади управління доступу до сайту з використанням файлу. htaccess:

Заборона на всі файли:

deny from all

Тут all позначає "все".

Дозволити доступ з певного IP-адреси (наприклад, 192.13.237.14):

order allow deny
deny from all
allow from 192.13.237.14

Заборонити доступ з певного IP-адреси (наприклад, 192.13.237.14):

order allow deny
allow from all
deny from 192.13.237.14

Заборона на групу файлів по масці:

<Files "\. (Inc | sql | інші розширення) $ ">
order allow, deny
deny from all
</ Files>

В даному прикладі сам веб-сервер "Апач" може звертатися до файлів із зазначеними розширеннями.

Можна встановити заборону на конкретний файл по його повній назві (наприклад, config.inc.php):

<Files config.inc.php>
order allow, deny
deny from all
</ Files>

пароль на директорію:

AuthName "Private zone"
AuthType Basic
AuthUserFile / pub / home / логін /. htpasswd
require valid-user
</ Files>

Значення AuthName буде виводитися для відвідувача і може використовуватися для пояснення запиту авторизації. Значення AuthUserFile вказує на місце, де зберігається файл з паролями для доступу до даної директорії. Цей файл створюється необхідні інструменти htpasswd.exe.

Наприклад в директорії, яку захищаємо паролем створюємо. htaccess з наступним змістом:

AuthName "For Registered Users Only"
AuthType Basic
AuthUserFile / pub / home / yoursite.ru/.htpasswd
require valid-user
</ Files>

У цьому прикладі відвідувач при запиті директорії буде бачити фразу "For Registered Users Only", файл з паролями для доступу повинен лежати в директорії / pub / yoursite.ru / і називатися. htapasswd. Директорія вказується від кореня сервера. Якщо ви неправильно вкажете директорію, то Apache не зможе прочитати файл. htpasswd і ніхто не отримає доступу до даної директорії.

Аналогічно захисту цілої директорії можна встановити пароль тільки на один файл. Наприклад, для захисту файлу private.zip необхідно в файлі. htaccess вказати наступну інформацію:

<Files private.zip>
AuthName "Users zone"
AuthType Basic
AuthUserFile / pub / home / логін /. htpasswd
</ Files>

Аналогічно, використовуючи команду <Files "\. (Inc | sql | інші розширення) $">, можна вказувати паролі за маскою файлів. Наприклад, для установки пароля на доступ до всіх файлу з розширенням. sql необхідно вказати наступну інформацію:

<Files "\. (Sql) $">
AuthName "Users zone"
AuthType Basic
AuthUserFile / pub / home / yoursite.ru/.htpasswd
</ Files>

Для того щоб зробити перенаправлення відвідувача на сайт http://www.site.ru, в. htaccess необхідно вказати:

Redirect / http://www.site.ru

Далі буде...