Безопасны ли параметры строки запроса в HTTPS (HTTP + SSL)?

Зашифруются ли параметры строки запроса в HTTPS при отправке с запросом?


person Deep    schedule 13.04.2010    source источник
comment


Ответы (4)


да. Строка запроса также зашифрована с помощью SSL. Тем не менее, как эта статья показывает, что помещать конфиденциальную информацию в URL - не лучшая идея. Например:

URL-адреса хранятся в журналах веб-сервера - обычно полный URL-адрес каждого запроса сохраняется в журнале сервера. Это означает, что любые конфиденциальные данные в URL-адресе (например, пароль) сохраняются в виде открытого текста на сервере.

person Joe Ratzer    schedule 13.04.2010
comment
Значит, это означает, что, когда DigitalOcean, Google или другие просят вас указать ключ API в параметре запроса, любой, у кого есть доступ только для чтения к журналам, может подделать ваш идентификатор? Скажем, если кто-нибудь в Loggly выдаст какую-либо информацию, многие службы будут скомпрометированы? - person Adrien; 26.01.2014
comment
Ключ API - это недолговечный токен, обычно действительный в течение одного часа или одного месяца (для oauth и аналогичных сервисов), но если бы произошло нарушение такого масштаба, они просто аннулировали бы ВСЕ невыполненные токены. Каждый должен пройти повторную аутентификацию, используя свои (предположительно) все еще безопасные пароли. - person David Souther; 02.03.2014
comment
FYI для пользователей Rails ... строки запроса фильтруются в дополнение к параметрам POST, когда вы указываете config.filter_parameters stackoverflow.com/questions/2062405/ - person colllin; 30.06.2014
comment
Размещение конфиденциальных данных на самом деле не проблема, если данные одноразовые (например, одноразовый токен) - person Matthieu Charbonnier; 20.07.2017
comment
@MatthieuCharbonnier, это смелое заявление. Можете ли вы дать мне доступ к вашему банку на 30 минут? - person EralpB; 17.02.2018
comment
@EralpB Нет, и я думаю, вы неправильно поняли мое заявление. Но я могу дать вам свой код подтверждения, который я уже использовал, но теперь он устарел и бесполезен. - person Matthieu Charbonnier; 18.02.2018

помните, что SSL / TLS работает на транспортном уровне, поэтому вся криптография происходит в HTTP-материалах прикладного уровня.

http://en.wikipedia.org/wiki/File:IP_stack_connections.svg

это длинный способ сказать «Да!»

person Michael Howard-MSFT    schedule 14.04.2010

Вся передача, включая строку запроса, весь URL-адрес и даже тип запроса (GET, POST и т. Д.), Шифруется при использовании HTTPS.

person Marcelo Cantos    schedule 13.04.2010
comment
Осторожно! Даже если весь URL-адрес зашифрован, имя хоста можно увидеть во время первоначального подтверждения SSL непосредственно перед зашифрованной передачей! - person Matthieu Charbonnier; 20.07.2017
comment
@MatthieuCharbonnier, действительно ли это для тела сообщения и заголовков? - person Must.Tek; 12.03.2020

Я не согласен с приведенным здесь советом - даже ссылка на принятый ответ заключает:

Вы, конечно, можете использовать параметры строки запроса с HTTPS, но не используйте их ни для чего, что может представлять угрозу безопасности. Например, вы можете безопасно использовать их для идентификации номеров деталей или типов отображения, таких как «accountview» или «printpage», но не используйте их для паролей, номеров кредитных карт или другой информации, которая не должна быть общедоступной.

Так что нет, они не совсем безопасны ...!

person Steve Winter    schedule 07.04.2014
comment
Все ответы сходятся в том, насколько они безопасны, и вопрос не в том, безопасны ли они. Это было то, зашифрованы ли параметры GET в HTTPS. На что дан ответ вместе с оговорками, которые вы цитируете. Я не знаю, что ваш ответ пытается добавить сюда в связи с вопросом, поскольку он расплывчатый и производный. - person Rob Grant; 16.07.2015