WedX - журнал о программировании и компьютерных науках

Защита паролем и разрешение доступа к каталогу только одному IP-адресу?

У меня есть каталог на моем веб-сайте, и мне нужно убедиться, что никто, кроме меня, не сможет туда попасть. Из того, что я прочитал, похоже, что есть два способа защитить каталог:

  1. Защитите каталог паролем с помощью файла .htaccess.
  2. Запретить доступ ко всем IP-адресам, кроме моего, от доступа к каталогу, также используя файл .htaccess

Мне нужно максимально надежно защитить файлы в каталоге, поэтому я решил использовать оба этих метода для двойной защиты.

Вопрос 1: Я что-то пропустил? (т.е. есть ли еще один уровень защиты, который я могу добавить?)

Вопрос 2: Что мне нужно добавить в файл .htaccess, чтобы вышеуказанное заработало?


Ответы:


1

Ваш файл .htaccess будет содержать:

AuthUserFile /usr/local/nate/safe_place/.htpasswd
AuthGroupFile /dev/null
AuthName "Protected Files"
AuthType Basic

require user nate
order deny, allow
deny from all
allow from 127.0.0.1

Файл .htaccess находится в каталоге, который вы пытаетесь защитить.

Вам также понадобится файл .htpasswd (обозначенный выше как /usr/local/nate/safe_place/.htpasswd), который содержит текст username:password_hash. Итак, если мы используем «nate» в качестве примера и «secret» в качестве пароля (пожалуйста, не используйте это), вы получите:

nate:XmN6pwFyy3Il2

Вы можете использовать этот инструмент для создания собственного файла паролей: https://www.tools.dynamicdrive.com/password/

Просто убедитесь, что никто не сможет прочитать ваш файл .htpasswd. Также обратите внимание, что базовая аутентификация сама по себе не выполняет шифрование. Если вы находитесь в открытой сети, любой может увидеть ваш пароль и все секретные данные, передаваемые по сети. Убедитесь, что вы посещаете свой сайт через https, если это действительно такой секрет.

Подробнее о .htaccess файлах можно прочитать здесь: https://www.javascriptkit.com/howto/htaccess.shtml.

09.07.2012
  • Я попытался создать файл .htaccess в каталоге, который мне нужно защитить, и добавил следующее: AuthUserFile /home/username/.htpasswd AuthGroupFile /dev/null AuthName "Protected Files" AuthType Basic, но когда я загружаю страницу из каталога, приглашение на вход не появляется. Страницы все равно загружаются. 11.07.2012
  • Попробуйте выполнить следующие действия по устранению неполадок: http://httpd.apache.org/docs/2.0/howto/htaccess.html#troubleshoot 11.07.2012
  • Я попытался поместить мусор в файл .htaccess, как указано на этой странице, и ошибка не отображалась. 11.07.2012
  • Что ж, в руководстве сказано, что хороший тест для этого — поместить мусор в файл .htaccess и перезагрузить. Если ошибка сервера не генерируется, то у вас почти наверняка действует AllowOverride None. Итак, теперь прочитайте https://httpd.apache.org/docs/2.0/mod/core.html#allowoverride, это означает, что вы должны изменить свою директиву AllowOverride. Я не знаю, какой у вас сейчас установлен, но вам нужно как минимум AllowOverride AuthConfig Limit, если вы не хотите вставлять AllowOverride All в свой httpd.conf. Обратите внимание, что вам придется перезапустить Apache после изменения его конфигурационного файла (apachectl graceful). 11.07.2012

  • 2

    Предполагая, что вы используете Apache и имеете директиву AllowOverride, разрешающую .htaccess файлам использовать <Limit>, следующее должно быть хорошей отправной точкой для вас:

    <Limit GET>
        Order deny,allow
        Deny from all
        Allow from IP_ADDRESS_HERE
    </Limit>
    

    Дополнительная документация по <Limit>: https://httpd.apache.org/docs/current/mod/core.html#limit и для управления доступом: https://httpd.apache.org/docs/2.2/howto/access.html

    09.07.2012
  • Директива Limit не является хорошим выбором. А как насчет HEAD, PUT, DELETE,...? На самом деле вам не нужна какая-либо закрывающая директива, если она находится в файле .htaccess, а если это не так, она должна быть в директиве Location. 09.07.2012
  • Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]