![htaccess + htpasswd: как предотвратить выполнение PHP-скриптов без указания пароля](https://rvso.com/image/726813/htaccess%20%2B%20htpasswd%3A%20%D0%BA%D0%B0%D0%BA%20%D0%BF%D1%80%D0%B5%D0%B4%D0%BE%D1%82%D0%B2%D1%80%D0%B0%D1%82%D0%B8%D1%82%D1%8C%20%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%20PHP-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%20%D0%B1%D0%B5%D0%B7%20%D1%83%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8F.png)
Мой сайт управляется Apache на Linux. В базовом каталоге есть подпапка fill. В этой подпапке есть php-скрипт: do.php
Вот мой .htaccess:
AuthType Basic
AuthName 'Welcome back'
AuthUserFile /home/provider/mysite/fill/.htpasswd
Require valid-user
Вот мой .htpasswd:
ab12:2yd32253zi7Nz2
Когда я иду вhttp://мойсайт/fill, у меня спрашивают имя пользователя и пароль. Когда я их указываю (ab12 с паролем), я успешно вхожу и вижу содержимое index.html, расположенное в этой папке fill (т.е.http://mysite/fill/index.html). Затем я очищаю историю посещений и все сохраненные ранее пароли. После этого, когда я запускаю скриптhttp://mysite/fill/do.php, Меня НЕ просят проходить аутентификацию.
Вопрос: возможно ли запросить учетные данные при запускеhttp://mysite/fill/do.php? Есть ли изменения в htaccess?
Спасибо.
решение1
Смотря наДокументация ApacheнаАутентификация, авторизация и контроль доступа, к сожалению, похоже, чтовыход из системы невозможен.
Так что проблема не в этомhttp://mysite/fill/do.phpне запрашивает учетные данные. Фактическая проблема здесь в том, что вы не можете сбросить аутентификацию.
Как выйти из системы?
С тех пор, как браузеры впервые начали реализовывать базовую аутентификацию, администраторы веб-сайтов хотели знать, как разрешить пользователю выйти из системы. Поскольку браузер кэширует имя пользователя и пароль в области аутентификации, как описано ранее в этом руководстве, это не функция конфигурации сервера, а вопрос того, чтобы заставить браузер забыть информацию об учетных данных, так что при следующем запросе ресурса имя пользователя и пароль должны быть предоставлены снова. Существует множество ситуаций, в которых это желательно, например, при использовании браузера в общественном месте и нежелании оставлять браузер в системе, чтобы следующий человек мог получить доступ к вашему банковскому счету.
Однако, хотя это, пожалуй, самый часто задаваемый вопрос о базовой аутентификации, до сих пор ни один из крупных производителей браузеров не счел эту функцию желательной для внедрения в свои продукты.
Следовательно, ответ на этот вопрос: вы не можете. Извините.
Глядя на этовопрос, возможно, вам удастся найти другие способы выхода из системы.