Напевно, ви коли-небудь стикалися з таким явищем як HTTP авторизація, давайте трохи освіжити нашу пам’ять, і згадаємо – що це і де це справа може використовуватися. Якщо ви тісно пов’язані з веб-індустрією, то з великою ймовірністю ви в курсі, про що йде мова, якщо немає нічого страшного, ми зараз внесемо ясність у це питання.

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

Даний приклад актуальний для веб-сервера Apache. В якості операційної системи використовується Linux CentOS 6.

Створюємо файл .htpasswd
Створити файл .htpasswd можна різними способами, є онлайн-генератори, який можуть позбавити вас від метушні з консолі сервера, ви просто вписуєте свій логін і пароль, вони видають вам готовий файл. Але ми легких шляхів не шукаємо, і робимо це власними руками у вікні консолі сервера. Перейдіть у папку, куди ви хочете зберегти файл з паролями. По-хорошому рекомендується зберігати даний файл поза публічної частини сайту. Виконуємо команду в консолі:

htpasswd -mbc .htpasswd username PassWord

username – замість цього вам слід вказати логін;
PassWord – вказуєте пароль.

В директорії, де ви перебували на момент запуску команди буде створений файл .htpasswd. Якщо вам необхідно змінити пару логін-пароль вже в існуючому файлі, ви можете виконати команду:

htpasswd -mb .htpasswd username PassWord

Тут список ключів документації:
-c Create a new file.
-n don’t update file; display results on stdout.
-m Force MD5 encryption of the password.
-d Force CRYPT encryption of the password (default).
-p Do not encrypt the password (plaintext).
-s Force SHA encryption of the password.
-b Use the password from the command line rather than prompting for it.
-D Delete the specified user.

Прописує шлях до .htpasswd у файлі .htaccess
Після того як файл з обліковим записом створено, необхідно прописати ключ до нього у файлі .htaccess. Розміщуємо файл .htaccess в папку, для якої слід зробити авторизацію по HTTP. Вказуємо шлях до файлу .htpasswd:

AuthType Basic
AuthName “Private zone. Only for administrator!”
AuthUserFile /home/sites/mysite.com/.htpasswd
require valid-user

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

Додав: htmaker, 23.05.2017 р.
(Ще не оцінили)

Завантаження…

Діліться з друзями:

См. також:


Детальніше про логах в Apache
Рубрика: Apache

Ротація логів в Linux
Рубрика: Apache, Linux

Denwer в локальній мережі
Рубрика: Apache, Інструменти

Перегляд списку завантажених модулів Apache
Рубрика: Apache, Linux

httpd вантажить процесор, що робити?
Рубрика: Apache

Тестування сайту під навантаженням
Рубрика: Apache, Інструменти

Як створити SSL сертифікат на Apache для CentOS 6?
Рубрика: Apache, Linux

Заборона на пряме скачування файлів
Рубрика: Apache

Як зробити перенаправлення з допомогою .htaccess?
Рубрика: Apache