Як закрити доступ до сторінок

Іноді виникає необхідність обмежити доступ до сторінок або яким або файлам вашого сайту для певних груп користувачів. Програмне забезпечення веб-сервера Apache має вбудовані засоби для вирішення цього завдання. Ознайомтеся з ними.

 

Інструкція

1. При кожному запиті на будь-яку сторінку сайту, сервер перевіряє наявність в теці, де вона зберігається, службового файлу з назвою .htaccess. Якщо він є, то сервер, при обробці запиту, наслідуватиме директиви з цього файлу. У нього можна помістити і директиви обмеження доступу до сторінок або інших документів сайту по яких або ознак. Зробити це можна, створивши такий файл в звичайному текстовому редакторові і завантаживши в потрібну вам теку сервера. Оскільки ці файли є службовими, то з браузеру веб-відвідувача вони не доступні.

2. Щоб розв'язати проблему доступу радикально помістите у файл htaccess ці директиви: Order Deny, Allow

Deny from allПолучив такі інструкції, веб-сервер закриє доступ до абсолютно усіх файлів і тек в цій і усіх вкладених в неї директоріях для усіх без виключення відвідувачів.

3. Можна додати в тотальну заборону виключення для користувачів, що мають певну IP- адресу: Order Deny, Allow

Deny from all

Allow from 77.84.20.18, 77.84.21.2В цьому прикладі користувачі, чий IP 77.84.20.18 або 77.84.21.2, не помітять наявності яких або обмежень, а усі інші допущені до сторінок не будуть. Якщо вам потрібний саме такий порядок доступу - перерахуєте список дозволених IP- адрес через кому.

4. Якщо треба навпаки створити "чорний список" з небажаних IP- адрес, то директиви слід змінити таким чином: Order Allow, Deny

Allow from all

Deny from 77.84.20.18, 77.84.21.2Доступ буде закритий тільки для відвідувачів, IP 77.84.20.18, що мають, і 77.84.21.2, а інші пропускатимуться безперешкодно. І в цьому варіанті список заборонених IP- адрес потрібно перерахувати через кому.

5. Якщо треба обмежити доступ не до усіх документів в теці, а лише до окремого файлу, то директиви повинні виглядати так:<Files hidden.html>

Order Deny, Allow

Deny from all

Allow from 77.84.20.18

</Files>Тут в першому рядку вказаний файл, доступ до якого має бути обмежений (hidden.html), а в четвертому рядку записано виключення із заборонного правила - IP користувачів, яким доступ до файлу дозволений.

6. Аналогічно можна обмежити доступ до групи файлів по масці їх імен:<Files . (wma)$>

Order Deny, Allow

Deny from all

Allow from 77.84.20.18

</Files>Тут в першому рядку вказана маска імен файлів з обмеженим доступом - заборона поширюватиметься на усі файли з розширенням wma. У четвертому рядку, як і в попередньому прикладі - IP користувачів, на яких обмеження не поширюється.

7. Є можливість обмежити доступ до сторінок за типом браузеру - у такий спосіб можна відсівати, наприклад, небажаних пошукових роботів: SetEnvIfNoCase user - Agent ^Microsoft.URL [NC, OR]

SetEnvIfNoCase user - Agent ^Offline.Explorer [NC, OR]

SetEnvIfNoCase user - Agent ^[Ww]eb[Bb]andit [NC, OR]

<limit get= post= head=>

Order Allow, Deny

Allow from all

Deny from env=bad_bot

</limit>Тут в перших трьох рядках перераховані декілька небажаних типів браузерів (по одному на кожен рядок). Звичайно, при використанні такої конструкції вам треба замінити їх не ті, які докучають саме вашому сайту.