Подтвердить что ты не робот

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

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

Изменить: мне нужно написать его более конкретно.

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

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

4b9b3361

Ответ 1

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, вместо того, чтобы запускать собственную настройку шифрования. Эта проблема уже решена, не изобретайте колесо повторно.

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

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

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

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

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

Ответ 5

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

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

post-data-here

Все это шифруется при использовании HTTPS.