Захист сайту і директорій через htaccess і htpasswd

Розглянемо цікавий спосіб захисту сайту, або директорії (папки) сайту, наприклад з адміністративною частиною.

Даний спосіб досить простий, але в той же час є дуже надійним, за умови використання «нормального хостингу», так як даний тип захисту паролем через htaccess і htpasswd будуватися засобами самого сервера Apache.

З мінусів - цей спосіб, як правило, підійде, якщо користувачів, які матимуть доступ, не багато ... так як для кожного користувача окремо генерувати пароль набридне дуже швидко.

Чому не варто даний спосіб використовувати на «копійчаному хостингу»?

Справа в тому що, як правило, такий тип хостингу має на увазі не якісну настройку Apache, і цим самим Ви можете просто відкрити зловмисникам дорогу в «захищається» директорію.

І так приступимо ...

Інструкція захисту через htaccess і htpasswd

Найпростіше цей файл створити за допомогою звичайного блокнота. Тиснемо правою кнопкою миші на робочий стіл: створити -> текстовий документ. Відкриваємо його за допомогою звичайного блокнота Windows. Тиснемо Файл -> Зберегти як ...

Далі в поле «Ім'я файлу» пишемо .htaccess разом з точкою на початку. В поле «Тип файлу» вибираємо «Все Файли (*. *)». Тиснемо «Зберегти» і закриваємо. Готово.

Створення файлу паролів htpasswd


Копіюємо завантажену утиліту в корінь диска C. Далі зрозумієте, навіщо саме в корінь.

Запускаємо консоль ( «Пуск» -> «Виконати», пишемо cmd і натискаємо «ОК»). Переходимо в корінь диска C (пишемо команду cd /).

У самій нижній сходинці, де блимає курсор має бути написано «C: \>» - ми в корені диска C.

Тепер пишіть наступну команду:


На кінці команди admin - це ім'я користувача (Логін). Можете використовувати будь-який (англійські букви, без пробілів).

Вам запропонують ввести пароль. Вводимо, переключившись на англійську розкладку. Тиснемо Ентер на клавіатурі і повторно вводимо той же пароль. Знову Ентер. Готово. Файл .htpasswd створений в корені диска C. Закриваємо консоль.

Підключаємося до сайту по FTP і переходимо в директорію, яку захищаємо через htaccess і htpasswd.

Перекидаємо в корінь цієї папки створений файл .htpasswd

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

1. Поруч з файлом паролів на хостингу створюємо файл, наприклад er2344fsdxaasdl.php
2. Відриваємо вікно редагування цього файлу і пишемо наступний код:


Тиснемо Ентер. І бачимо велику таблицю про версії PHP і інші дані.

5. Зліва колонка з параметрами, праворуч колонка зі значеннями цих параметрів. Нам потрібно значення параметра SCRIPT_FILENAME. Припустимо, воно має значення:


Копіюємо це значення куди-небудь, без назви нашого php-файлу. тобто копіюємо тільки це:


Це і є абсолютний шлях до нашої захищається директорія. Наш php-файл er2344fsdxaasdl.php обов'язково видалити!

Сам процес захисту через htaccess і htpasswd


Тепер відкриваємо за допомогою блокнота файл .htaccess на робочому столі (або де ви його зберігали?). Вписуємо в нього:


Зауважте, у AuthUserFile прописаний наш скопійований абсолютний шлях плюс ім'я файлу .htpasswd

Зберігаємо зміни через Ctrl + S або «Файл» -> «Зберегти».

Тепер переносимо змінений файл .htaccess на сервер в корінь захищається папки, туди ж де лежить файл .htpasswd

От і все. Директорія захищена. Закрийте браузер і запустіть його знову.


У Вас повинно з'явитися вікно введення логіна і пароля. Якщо цього не відбулося, значить Ви десь помилилися ... виконайте весь процес заново і дуже уважно.

Спробуйте ввести неправильний пароль і побачите повідомлення про помилку.

Сеанс триватиме до тих пір, доки Ви не закриєте браузер.

Схожі статті