2010-07-02 4 views
0

Недавно я проводил серию тестов, чтобы увидеть, как HTTPS ведет себя с обычными запросами и запросами Ajax в разных ситуациях. Вот результаты тестов (я использую JQuery, чтобы сделать AJAX вызовов):HTTPS и Ajax, странное поведение после тестов

  • При переходе от страницы с Https к нормальному Http один, будет всплывающее окно появится пользователю Результата: Игровые автоматы touch (IPT с этого момента) не выдает никаких предупреждений. Ни Chrome. Safari и Firefox вместо этого выйдут с окном, в котором говорится, что вы уходите от защищенной зоны. Мое Android-устройство показало поведение, подобное IPT и Chrome.
  • При выполнении запроса с использованием ajax URL-адрес с HTTPS со страницы с HTTPS: как и ожидалось, все работает хорошо, и всплывающие окна не отображаются (они не должны появляться, поскольку мы все еще используем зашифрованный канал).
  • Выполнение запроса с использованием ajax для URL-адреса с HTTP с помощью страницы с HTTPS (так что мы делаем небезопасный запрос с безопасной страницы): здесь все запросы сбой, это видно в javascript по мере завершения запроса, но это дает пустой ответ. Пользователь не запрашивается каким-либо образом. Тот же результат получается на каждом устройстве и на каждом настольном браузере. Тогда невозможно выполнить небезопасные запросы Ajax на небезопасные страницы в том же домене.
  • Давайте попробуем выполнить HTTP-запрос другого домена, используя Ajax, с HTTPS-страницы. Это потенциально может быть риском, поскольку запрос может отправлять разумные данные, которые вы получили через HTTPS, используя нешифрованный канал. Удивительно, но это работает на каждой платформе без ошибок или жалоб. Это контрастирует с последним результатом, поскольку я могу выполнять небезопасные запросы в других доменах, но не к одному и тому же! Это странное поведение ... Если вы дадите вам не зашифрованный запрос с зашифрованной страницы, он позволит вам сделать зашифрованный запрос, здравый смысл говорит ... на самом деле мы правы, это происходит на каждой платформе.
  • Давайте попробуем выполнить HTTP-запрос другого домена, используя Ajax, с HTTPS-страницы. Это потенциально может быть риском, поскольку запрос может отправлять разумные данные, которые вы получили через HTTPS, используя нешифрованный канал. Удивительно, но это работает на каждой платформе без ошибок или жалоб. Это контрастирует с последним результатом, поскольку я могу выполнять небезопасные запросы в других доменах, но не к одному и тому же! Это странное поведение ...
  • Если вы дадите вам незашифрованный запрос с зашифрованной страницы, он позволит вам выполнить зашифрованный запрос, здравый смысл говорит ... на самом деле мы правы, это делается на каждом Платформа.

Я удивлен, что он не позволяет вам выполнять HTTP-вызов Ajax с HTTPS-страницы в один и тот же домен (в этой ситуации это была одна и та же страница), и это позволяет вам делать это с другими доменами , Вы знаете больше об этой проблеме?

ответ

Смежные вопросы