Проверить HTTP-аутентификацию с PHP? - PullRequest
0 голосов
/ 05 января 2019

Я часто использую HTTP-аутентификацию на «административных» страницах использования (я единственный администратор), когда мне не хочется создавать систему входа только для себя. Это работает хорошо, отчасти потому, что я пользователь Mac / Safari, и Safari запоминает и применяет пароли HTTP Auth прозрачно. Страницы просто загружаются нормально, как будто вы даже не используете аутентификацию.

Что приводит к .... Я использую аутентификацию ?? Я не хотел бы случайно оставлять некоторые очень чувствительные части моего веб-сервера широко открытыми.

Это привело меня к этой идее. Могу ли я проверить $_SERVER['AUTH_TYPE'] и использовать это для блокировки доступа? Примерно так, в верхней части каждой страницы:

if (($_SERVER['AUTH_TYPE'] !== "Basic") and ($_SERVER['AUTH_TYPE'] !== "Digest"))
{ echo "HTTP Authentication Warning!"; exit; }

Или, я полагаю, проще isset($_SERVER['AUTH_TYPE']). Это кажется безопасным, простым и надежным способом дополнительной защиты аутентифицированных страниц. С этим, если когда-нибудь возникнет проблема, я узнаю об этом очень быстро.

Или, наверное, задам вопрос более конкретно: Всегда ли вы получаете заголовок AUTH_TYPE при использовании HTTP-аутентификации? Есть ли способ обмануть и заставить заголовок AUTH_TYPE, даже если вы не прошли проверку подлинности? Но, возможно, добавление дополнительного заголовка к вашему запросу?

...