Я считаю, что это невозможно, но кто-то, кого я знаю, настаивал на том, что это работает. Я даже не знаю, какие параметры попробовать, и я нигде не нашел этого документированного.
Я пытался http://myserver.com/~user=username&password=mypassword, но это не работает.
Можете ли вы подтвердить, что на самом деле невозможно передать пользователя / передать через параметры HTTP (GET или POST)?
authentication
http
http-basic-authentication
ripper234
источник
источник
Ответы:
На самом деле невозможно передать имя пользователя и пароль через параметры запроса в стандартной HTTP-аутентификации. Вместо этого вы используете специальный формат URL, например:
http://username:password@example.com/
- это отправляет учетные данные в стандартном HTTP-заголовке «Авторизация».Вполне возможно, что тот, с кем вы говорили, думал о пользовательском модуле или коде, который просматривал параметры запроса и проверял учетные данные. Это не стандартная аутентификация HTTP, однако, это вещь, специфичная для приложения.
источник
http://username:password@example.com
формат больше не поддерживается ни IE, ни Chrome , поэтому не удивлюсь, если другие последуют его примеру, если они этого еще не сделали.Передача базовых параметров аутентификации в URL не рекомендуется
Для этого есть поле заголовка авторизации, проверьте его здесь: список заголовков http
Как использовать это написано здесь: Базовая аутентификация доступа
Там вы также можете прочитать, что, хотя некоторые браузеры все еще поддерживают его, предлагаемое решение о добавлении учетных данных базовой авторизации в URL не рекомендуется.
Прочтите также главу 4.1 в RFC 2617 - Аутентификация HTTP для более подробной информации о том, почему НЕ использовать базовую аутентификацию.
Передача параметров аутентификации в строке запроса
При использовании OAuth или других сервисов аутентификации вы также часто можете отправлять свой токен доступа в строке запроса, а не в заголовке авторизации, например:
источник
Use of the format "user:password" in the userinfo field is deprecated.
http: // username: password@example.com будет работать для FireFox, Chrome, Safari, НО не для IE.
База знаний Microsoft
источник
@
пароль%40
. (Я не знаю, работает ли это, хотя, и это может зависеть от комбинации сервер или браузер / сервер.)(Очевидно) можно отправить любую строку в параметрах GET, хотя не рекомендуется отправлять логин и пароль, так как это может сделать их хорошо видимыми, особенно если это не в запросе AJAX.
Однако вам нужно будет затем кодировать страницу сервера для извлечения логина и пароля, а затем проверять и использовать их любым необходимым способом.
источник