Chrome теперь блокирует все запросы jsonp с https на http?

В какой-то момент Chrome остановил показ данных, загруженных через jsonp, с ошибкой

[заблокировано] Страница https://user.example.com/category/12345 запускает небезопасный контент из http://livedata.example.com/Data.svc/jsonp/GetData?category=12345&callback=_jsp&_1346417951424=. p >

Он по-прежнему отлично работает во всех других браузерах и подтвержден на нескольких компьютерах с Chrome.

Единственное упоминание об этой проблеме раньше - когда страница была отправлена ​​из одного из собственных доменов Google (функция безопасности для Google Apps, на мой взгляд?), это то, что было включено во всех доменах сейчас недавняя версия Chrome?

В идеале мы не хотим включать https в наш поддомен liveata из-за дополнительной нагрузки на сервер, который он мог бы вызвать, все данные общедоступны, поэтому нет необходимости шифровать его.

Ответы

Ответ 1

Это определенно должно блокировать его - это небезопасно и нарушает обещание HTTPS.

Извлечение ресурсов JSONP выполняется путем создания ресурса <script>, указывающего на цель. Это означает, что целевой сервер может запускать любой JavaScript, который ему нравится, на странице включения, и поэтому любой человек в середине может вводить произвольный script на страницу с предположительно HTTPS-защитой (например, добавить кейлоггер или полностью заменить содержимое страницы). Страница HTTPS с <script>, исходящая от HTTP, не более безопасна, чем простая HTTP-страница.

Вам нужно будет предоставить HTTPS-версию вашего фида данных, если вы хотите, чтобы страницы HTTPS могли получить к нему доступ. В противном случае браузеры должны, по крайней мере, создавать предупреждения. Теперь Chrome по умолчанию для блока не изменяет характер проблемы, он просто дает вам дополнительный толчок, который вам нужно исправить.

Ответ 2

<script src="//domain.com/script.js"></script> решает проблему, если удаленный сервер разрешает HTTPS...//автоматически устанавливает протокол на https, если к сайту обращается https.