У меня настроен сервер Ubuntu 14 (я использую стек LAMP), и в настоящее время на нем размещен созданный мной веб-сайт. Я загрузил туда zip-файл, и любой, у кого есть ссылка, может пойти и скачать его. Однако это может стать проблемой очень быстро. Предположим, файлы могут идти по пути, например:
homepage.com/src/file1.zip
Любой, у кого есть достаточно любопытства, может ввести homepage.com/src/
, просмотреть весь каталог и начать загрузку других файлов, которые он может там увидеть. Это также не мешает им попытаться получить доступ к другим папкам, таким как homepage.com/source/
, и просто попытаться выудить папки.
Чтобы предотвратить это, моя идея - создать «AuthFile» для моей папки / файла, чтобы, когда кто-нибудь наткнулся на него, он должен был ввести правильный пароль имени пользователя, чтобы иметь возможность его загрузить. Это будет аналогично защите страницы phpMyAdmin, как показано в этом руководстве , и приведет к следующему запросу:
Однако, перейдя к созданию AuthFiles, я не думаю, что смогу применить это к папке или файлу. Таким образом, подводя меня к моему основному вопросу:
Как я могу предложить пользователю ввести комбинацию имени пользователя и пароля, прежде чем он сможет загрузить файл?
Если это не вариант, как вы, ребята, управляете тем, кто загружает определенные файлы на сервер, чтобы убедиться, что никому не удастся просто добраться до ваших файлов?
Любая помощь и руководство приветствуются.
То, что вам нужно, называется .htaccess в apache.
Подробнее см. документацию Apache .
В основном .htaccess позволяет изменять конфигурацию Apache на уровне папки. Вы просто помещаете в папку файл с именем .htaccess и редактируете его. Для базовой аутентификации вам сначала нужно создать файл учетных данных:
sudo htpasswd -c /etc/apache2/.htpasswd username
Затем вы можете поместить файл с именем .htaccess в папку, которую вы хотите защитить,со следующим содержанием:
AuthType Basic
AuthName "Protected"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
Путь к .htpasswd можно выбрать произвольно, но постарайтесь поместить его в папку, недоступную для публики.