Каково различие, когда шифрование ДОБИРАЕТСЯ и данные POST? Спасибо за ответ
Править: я должен записать это более конкретный.
Когда https-SSL шифрует оба из этого методы, что является различием способом, браузер делает это. Какие части шифруются и которые не являются? Я где-нибудь читал, что целевой URL не шифруется в POST, который верен? Если это верно, и то же в ДОБИРАЕТСЯ, где все параметры?
Edit2: все еще не знайте ответ по моему вопросу. Когда оба метода шифруются с теми же данными взгляд то же при сниффинге? Какие части шифруются и которые не являются?
Данные GET добавляются к URL-адресу в виде строки запроса:
https://example.com/index.html?user=admin&password=whoops
Поскольку данные добавляются к URL-адресу, существует жесткий ограничение на объем данных, которые вы можете передать . У разных браузеров разные ограничения, но у вас начнутся проблемы с отметкой 1–2 КБ.
Данные POST включены в тело HTTP-запроса и не отображаются в URL-адресе. Таким образом, нет ограничений на объем данных, которые вы можете передать через POST.
Если HTTP-соединение использует SSL / TLS, то параметры GET также зашифрованы , но могут отображаться в других местах, например в журналах веб-сервера, и будут доступны для подключаемых модулей браузера и, возможно, других приложений в качестве хорошо. POST-данные зашифрованы и не допускают утечки никаким другим способом.
Из обсуждения Google :
Данные, содержащиеся в запросе URL на соединение HTTPS зашифровано. Однако это очень плохая практика. включать такие конфиденциальные данные, как пароль в запросе GET. В то время как его невозможно перехватить, данные будет зарегистрирован в виде открытого текста серверные журналы на принимающем HTTPS сервер, а также, вполне возможно, в история браузера. Вероятно, это также доступны для плагинов браузера и возможно, даже другие приложения на клиентский компьютер.
Всегда используйте POST через HTTPS , если вы хотите безопасно передавать информацию.
Если вы используете библиотеку шифрования для шифрования данных, вы можете использовать GET или POST, но это будет дополнительная проблема, и вы можете неправильно настроить шифрование, поэтому я по-прежнему рекомендую использовать POST. через HTTPS, вместо того, чтобы настраивать собственное шифрование. Эта проблема уже решена, не изобретайте велосипед заново.
Другой вариант, который вы можете рассмотреть, - это использовать безопасный файл cookie . Файл cookie с установленным флагом безопасности пересылается только по защищенному каналу, например HTTPS, и его нельзя перехватить. Это хороший способ безопасного хранения информации, например идентификатора сеанса.
Разница в том, что зашифрованный параметр, отправленный с глаголом GET, будет виден в адресной строке, а отправленный с глаголом POST - нет (конечно, это не означает, что пользователь не сможет увидеть зашифрованное значение). Еще одно различие заключается в допустимой максимальной длине: GET-запросы ограничены, как ограничены урлы в браузерах. Третье отличие: GET-запросы регистрируются на промежуточных веб-серверах, через которые они проходят (веб, прокси, ...), поэтому если вы используете GET через интернет, ваш зашифрованный параметр будет определенно зарегистрирован на многих машинах, прежде чем он попадет на ваш веб-сервер.
POST может отправить больше данных, чем GET
GET легче для злоумышленника манипулировать данными
GET не шифруется
POST не шифруется
При выполнении запроса HTTPS GET параметры строки запроса ЗАШИФРОВАНЫ ! Единственное, что не шифруется в запросе HTTPS, - это имя сервера или IP-адрес и порт запроса. Это единственные две части информации, необходимые для направления запроса от вашего браузера на веб-сервер, который затем выполняет расшифровку.
Используйте Fiddler (с отключенным расшифровкой SSL) и просматривайте свой трафик с помощью защищенного сайта. Вы увидите, что вы не можете просматривать незашифрованные данные строки запроса или даже информацию о пути.
Это может помочь, если вы представите себе HTTP-запрос:
GET /page.php?get-data-here HTTP/1.1
Host: www.site.com
post-data-here
Все это зашифровано, когда вы используете HTTPS.