htaccess + htpasswd: как предотвратить выполнение PHP-скриптов без указания пароля

htaccess + htpasswd: как предотвратить выполнение PHP-скриптов без указания пароля

Мой сайт управляется 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не запрашивает учетные данные. Фактическая проблема здесь в том, что вы не можете сбросить аутентификацию.

Как выйти из системы?

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

Однако, хотя это, пожалуй, самый часто задаваемый вопрос о базовой аутентификации, до сих пор ни один из крупных производителей браузеров не счел эту функцию желательной для внедрения в свои продукты.

Следовательно, ответ на этот вопрос: вы не можете. Извините.

Глядя на этовопрос, возможно, вам удастся найти другие способы выхода из системы.

Связанный контент