it-swarm.com.ru

В чем разница между GET и POST шифрование?

В чем разница при шифровании данных GET и POST? Спасибо за ответ

Правка: мне нужно написать это более конкретно.

Когда https-SSL шифрует оба этих метода, какая разница в том, как браузер делает это . Какие части зашифрованы, а какие нет? это правда? Если это правда и то же самое в GET, где все параметры?

Edit2: до сих пор не знаю ответа на мой вопрос. Когда оба метода зашифрованы одними и теми же данными, выглядит ли одинаково при сниффинге? Какие части зашифрованы, а какие нет?

26
Roar

GET данные добавлены к URL в виде строки запроса:

https://example.com/index.html?user=admin&password=whoops

Поскольку данные добавляются к URL-адресу, существует жесткий предел количества данных, которые вы можете передать. Разные браузеры имеют разные ограничения, но у вас начнутся проблемы с отметкой 1KB-2KB.

POST данные включены в тело HTTP-запроса и не отображаются в URL. Таким образом, нет предела количеству данных, которые вы можете передавать через POST.

Если HTTP-соединение использует SSL/TLS, то параметры GET также шифруются, но могут отображаться в других местах, таких как журналы веб-сервера, и будут доступны для подключаемых модулей браузера и, возможно, других приложений. POST данные шифруются и не протекают никаким другим способом.

Из Обсуждение Google :

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

Всегда используйте POST поверх HTTPS, если вы хотите безопасно передавать информацию.

Если вы используете библиотеку шифрования для шифрования данных, вы можете использовать GET или POST, но это будет дополнительной проблемой, и вы, возможно, неправильно настроите шифрование, поэтому я все же рекомендую использовать POST через HTTPS, вместо того, чтобы использовать собственные настройки шифрования. Эта проблема уже решена, не изобретайте велосипед.

Другой вариант, который вы можете рассмотреть, - это использование secure cookie. Файл cookie с установленным флагом безопасности отправляется только по безопасному каналу, например HTTPS, и его нельзя отследить. Это хороший способ безопасного хранения информации, такой как идентификатор сеанса.

50
Ben S

Когда выполняется запрос HTTPS GET, параметры строки запроса A ENCRYPTED! Единственное, что не зашифровано в запросе HTTPS - это имя сервера или IP-адрес и порт запроса. Это только две части информации, необходимые для направления запроса от вашего браузера на веб-сервер, который затем выполняет расшифровку.

Используйте Fiddler (с отключенной расшифровкой SSL) и посмотрите на свой трафик с безопасного сайта. Вы увидите, что не можете просматривать незашифрованные данные строки запроса или даже информацию о пути.

3
John Bledsoe

Разница в том, что зашифрованный параметр, который отправляется с глаголом GET, будет виден в адресной строке, а тот, который отправлен с глаголом POST, не будет (конечно, это не означает, что пользователь не может увидеть зашифрованное значение ). Другое отличие заключается в допустимой максимальной длине: запросы GET ограничены, так как URL-адреса ограничены в браузерах. Третье отличие: запросы GET регистрируются на промежуточных веб-серверах, через которые они проходят (web, proxy, ...), поэтому если вы используете GET через Интернет, ваш зашифрованный параметр обязательно будет зарегистрирован на многих машинах до того, как он поступит на ваш веб-сервер.

2
Darin Dimitrov

Это может помочь, если вы визуализируете HTTP-запрос:

GET /page.php?get-data-here HTTP/1.1
Host: www.site.com

post-data-here

Вся эта вещь зашифрована, когда вы используете HTTPS.

0
JW.

POST может отправить больше данных, чем GET

GET проще для злоумышленника манипулировать данными

GET не зашифрован

POST не зашифрован

0
Tom Gullen