HTTPS, URL-путь и строка запроса
Это последующий пост моего предыдущего вопроса о BASIC auth over HTTPS
Является ли путь к строке ресурса и запроса безопасно передан серверу, если я использую HTTPS?
т.е.
URI: http://server/path/to/a/resource?with=a&query=string
Сервер: сервер
путь:/путь/в/a/ресурс
строка запроса: с = a & query = string
Ответы
Ответ 1
Это действительно хорошее объяснение этого: http://answers.google.com/answers/threadview/id/758002.html#answer
Сводка: только хост и порт будут видны незашифрованными.
Короче говоря, да. Но вы не должны хранить конфиденциальные данные в URL-адресе, поскольку они могут быть видны в истории браузеров и в файлах сервера. И любой, кто смотрит через плечо, тоже это видит.
Ответ 2
Да, это - весь сеанс защищен и закодирован так, что все, что вы отправляете, включая строку запроса, нечитабельно.
Вы можете доказать это себе, если хотите, используя что-то вроде Fiddler, чтобы просмотреть трафик http/https, который вы генерируете, когда вы посещаете безопасный URL-адрес. Все, что вы отправляете по HTTPS, не будет показывать запрос, как показано ниже:
![alt text]()
Фактический URL-адрес, который я посещал, выглядел так:
https://www.halifax-online.co.uk/_mem_bin/formslogin.asp?source=halifaxcouk&simigvis=
Как и в других ответах, вы не должны передавать какую-либо конфиденциальную информацию в запросе, так как это может храниться в файлах журналов веб-серверов, поэтому, если вы проходили комбинацию имени пользователя и пароля, любой, кто мог бы получить доступ к вашим журналам, мог бы захватить эту информацию. Это может позволить кому-то войти в ваш сайт/приложение , как если бы они были кем-то другим, даже если вы предпринимали такие усилия, как хранение паролей в вашей базе данных в виде соленых хэшей, а не в виде открытого текста.
Ответ 3
HTTPS просто HTTP-туннелируется через SSL-соединение. Это означает, что запрос, ответ, заголовки и содержимое находятся в туннеле SSL и поэтому должны быть зашифрованы.