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.