Базовая аутентификация Apache с использованием имени пользователя / пароля в URL

#security #apache #http #authentication

#Безопасность #apache #http #аутентификация

Вопрос:

Я использую php для перенаправления пользователей в каталог, защищенный базовой аутентификацией apache. Я использую следующий формат URL для автоматической регистрации пользователей в этом каталоге:

http://username:password@www.somewebsite.com/protected.

Это отлично работает во всех браузерах, кроме IE, который больше не поддерживает передачу имени пользователя / пароля в URL-адресе.

Есть ли другой способ для веб-приложения автоматически регистрировать пользователя в каталоге, защищенном с помощью apache basic auth?

Обновление: по возможности, пожалуйста, не обращайте внимания на недостатки, присущие использованию apache basic auth и http, если вы не в состоянии предоставить жизнеспособную альтернативу, которая решает этот вопрос … а именно, как я могу автоматически регистрировать пользователя в защищенном каталоге. Это для клиента, который уже использует базовую аутентификацию apache. Спасибо 🙂

Комментарии:

1. Вы никогда не должны смешивать базовую аутентификацию с незашифрованным протоколом, таким как HTTP, если безопасность является проблемой. Имя пользователя и пароль отправляются по сети в кодировке base64, которая может быть преобразована в обычный текст каждым, кто может прослушивать сеть. Если вам нужно использовать базовую аутентификацию, вы должны использовать ее только через HTTPS.

2. @Mark Brown: Вы нашли какое-либо решение этой проблемы?

Ответ №1:

У Microsoft есть подробное объяснение этой проблемы, включая различные обходные пути в их базе знаний. Это должно стать хорошим началом.

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

Комментарии:

1. Привет. Спасибо за ссылку. Я действительно видел эту статью. Ни одно из обходных решений не подходит для этого сценария. На самом деле клиент не нажимает на ссылку (перенаправление происходит через php), я не использую WinInet, и это не для управления состоянием.