Подавляющее большинство веб-серверов управляется HTTP-сервером Apache. Этот сервер позволяет создать надежную защиту доступа к файлам и папкам посредством авторизации используя свой встроенный защитный механизм. От вас потребуется минимум телодвижений, а результатом будет достаточно высокий уровень защищенности, например, админки. Поскольку этот механизм встроен в сервер Apache, абсолютно нет разницы, директории какой CMS мы будем защищать.
«Ближке к телу» — как говорил де Мопассан. Если ваш хостинг поддерживает cPanel, то у вас нет проблем с защитой доступа. cPanel автоматически создает файлы .htaccess и .htpasswd если вы пожелаете запаролить вход в директорию.
У вас нет cPanel? Ok, будем ставить эти файлы вручную. Тут, конечно, следовало бы добавить сухой теории о работе файла .htaccess. Но ничего этого я описывать не буду. Хотите знать больше — тут вам гугл в помощь. Перейдем сразу к практике.
Для начала проберим работу файла .htaccess на вашем хостинге. Создаем файл .htaccess (первым символ — точка, расширения нет). прописываем в нем следующий код:
AuthType Basic
AuthName admin
require valid-user
Затем заливаем на сайт в ту директорию, которую хотите защитить. В нашем случае это админка. Заходим в панель администрирования и нас просят авторизоваться
Все в порядке, хостинг поддерживает работу с файлами .htaccess и мы можем продолжать. если нет — стучитесь в суппорт вашего хостинга, либо испольуйте другую защиту.
Правим наш файл
AuthName "?"
AuthType Basic
AuthUserFile /home/pass/.htpasswd
require valid-user
AuthType — Тип используемой аутентификации. Basic — базовая аутентификация, Digest — аутентификация с зашифрованным паролем (MD5)
AuthName — Имя области действия аутентификации. Например «админка»
AuthUserFile — абсолютный путь от корня сервера к файлу с паролями (.htpasswd).
Require — Одно или несколько требований, которые должны быть выполнены для получения доступа к закрытой области. valid-user — доступ будет получен при совпадении пары логин-пароль для любого пользователя прописаного в файле паролей
Содаем файл .htpasswd и пишем в нем пару/пары логин-пароль
igor:qeqrqr
roman:1234567
Заливаем файл в директорию , прописанную в файле .htaccess, как путь до файла с паролями. Лучше, если это будет непубличный каталог, доступ, к которому будете иметь только вы. Если вы все сделали правильно, то при входе в админку у вас появится дополнительная форма авторизации:
Если же вы решите оставить файл в публичном каталоге сайта, то необходимо запретить просмотр директории, в которой находится наш файл. Для нее создаем .htaccess и пропишем:
Order Deny, Allow
Deny from all
можно запретить просмотр файла паролей:
Deny from all
Таким коварным способом мы можем запретить просмотр любых файлов. А если нам надо запаролить доступ к файлу пишем:
AuthName "Users zone"
AuthType Basic
AuthUserFile /home/pass/.htpasswd
Или группу файлов по регулярному выражению (запрещаем просмотр txt, pdf):
AuthName "txt и pdf"
AuthType Basic
AuthUserFile /pass/.htpasswd
require valid-user
Добавить комментарий