Як обмежити доступ на сторінку


 

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


Інструкція

  1. Створіть на сервері папку для сторінок, які слід захистити, і перемістіть їх туди. Якщо ви хочете обмежити доступ до всіх сторінок, то цей крок можна пропустити — захист буде організована в кореневій папці вашого сайту.

  2. Алгоритм дій сервера Apache такий, що знайшовши в папці службовий файл з ім’ям «. htaccess», він використовує містяться в файлі інструкції при обробці запитів відвідувачів сайту на будь-які документи цієї та всіх вкладених папок. Вам потрібно створити цей файл і помістити в нього директиви обмеження доступу до всіх або окремих документів цієї папки.

    Зробити це можна у себе на комп’ютері, скориставшись простим текстовим редактором, наприклад Блокнотом. Створіть порожній файл (CTRL + N) і впишіть в нього ці рядки:

    AuthType Basic
    AuthName «Доступ до сторінки обмежений!»
    AuthUserFile / usr / account / site / .htpasswd
    require valid-user

    Директива в першому рядку включає механізм базової авторизації (AuthType Basic). При цьому виді авторизації пароль відвідувача передається з браузера зашифрованим за алгоритмом Base64.

    Директива у другому рядку вказує зміст текстової підказки, яку браузер буде відображати при вході відвідувача в захищену частину сайту. Впишіть потрібний вам текст не використовуючи в ньому лапок («).

    Третій рядок містить абсолютний шлях до файлу, що зберігає пари логін: пароль, доступ яким дозволений до сторінок цієї папки. Логін зберігається у відкритому вигляді, а пароль зашифрований. Абсолютний (тобто від кореня сервера) шлях до вашого сайту можна подивитися в панелі адміністрування сайту або дізнатися у техпідтримки хостингу. А можна скористатися командою phpinfo () мови PHP.

    Директива в четвертому рядку визначає принцип аутентифікації. Якщо вказати значення User, то допущені будуть тільки користувачі, логіни яких треба перерахувати тут же через пробіл. Значення Group — тільки користувачі, що належать до груп, які слід вказати тут через пробіл. Якщо Valid-user — всі користувачі, логіни яких перераховані у файлі AuthUserFile. Природно, при будь-якому значенні всі ці користувачі для доступу повинні ввести правильний пароль.

  3. Створений файл збережіть під ім’ям. htaccess, вибравши пункт «Всі файли» в списку «Тип файла» діалогу збереження — це для того, щоб текстовий редактор автоматично не додав розширення txt.

  4. Тепер вам слід створити файл паролів, вказаний в директиві AuthUserFile -. htpasswd. Робиться це утилітою htpasswd.exe зі складу сервера Apache. Вона знаходиться в папці bin кореневої папки сервера. Якщо сервер не встановлений у вас, то можна завантажити цю утиліту, наприклад, тут — http://www.intrex.net/techsupp/htpasswd.exe .

    Це консольна програма, тобто запускати її слід з командного рядка. В ОС Windows XP це можна зробити так: скопіювати htpasswd.exe в окрему папку, клацнути папку правою кнопкою миші і вибрати пункт «Запуск командного рядка тут». У командному рядку потрібно ввести:

    htpasswd-cm. htpasswd FirstUser

    Модифікатор «-cm» вказує, що повинен бути створений новий файл паролів, а для шифрування використаний алгоритм MD5 (цей алгоритм використовується в ОС Windows за замовчуванням). Якщо замість «m» вказати «d» — утиліта буде використовувати алгоритм шифрування DES, якщо «s» — алгоритм SHA, а якщо «p» — пароль буде збережений без шифрування.

    FirstUser — це логін першого користувача в списку, замініть його на потрібний вам. Пароль для нього утиліта запитає після того, як ви натиснете Enter. Щоб додати в створений файл наступного користувача запустите утиліту ще раз, але вже без літери «c» в модифікаторі.

  5. Створені файли. htaccess і. htpasswd помістіть на сервер вашого сайту, скориставшись файл-менеджером панелі управління або фтп-клієнтом. Файл. Htaccess повинен лежати в одній папці з захищеними сторінками, а файл. Htpasswd — в папці, шлях до якої ви вказали в директиві AuthUserFile. Зазвичай файли паролів поміщають в директорію, розташованої вище кореневої папки сайту, щоб виключити доступ до нього з інтернету.