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

Загрузка шрифта Google в HTTPS, содержимое заблокировано

Существует тема WordPress, которая автоматически вытаскивает выбранный шрифт и запрашивает его из шрифта google. когда ssl был необходим для нескольких выбранных страниц, шрифт стал missing

Просмотр журнала консоли:

[заблокировано] Страница в https://www.example.com/ 'была загружена поверх HTTPS, но выполняла небезопасное содержимое с' http://fonts.googleapis.com/css?family=Alegreya+Sans:300,400,500,700,800 ': этот контент также должен быть загружен через HTTPS.

войдет в код и сделает все запросы в https из работы с шрифтом google? Есть ли какое-то обходное решение?

нашел исходный код... но похоже, что он уже делает это... может ли быть ошибка в логике if?

$prefix = "http";
            if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') $prefix = "https";

            if($get_google_font){

            if(!in_array($rule_split[0], $this->used_fonts))
            {
                $this->extra_output .= "\n<!-- google webfont font replacement -->\n";
                $this->extra_output .= '<link id="google_webfont_'.$this->webfont_count.'" rel="stylesheet" type="text/css" href="'.$prefix.'s://fonts.googleapis.com/css?family='.str_replace(' ','+',$rule_split[0]).$font_weight.'" />';
            }
4b9b3361

Ответ 1

Измените тему замены всех вхождений http://fonts.googleapis.com/... с https://fonts.googleapis.com/... (возражаем с).

Ресурсы, которые могут представлять угрозу безопасности (такие как скрипты и шрифты), должны загружаться через защищенное соединение при запросе в контексте защищенной страницы по очевидной причине: ими можно было манипулировать в процессе работы.

Ответ 2

Использовать относительные URI протокола

Просто используйте префикс //. (instead of http[s]://)

  • На странице https будет загружена защищенная версия.
  • На простой странице http будет загружена простая версия http.

Отредактируйте свою тему, заменив каждый http://fonts.googleapis.com/... на //fonts.googleapis.com/...

Ответ 3

пусть браузер обрабатывает все вещи, просто удаляя "http" из вашей справки.

Аналогично, вы должны делать и для других библиотек, если вы столкнулись с ними с той же проблемой например.

https://fonts.googleapis.com/css?family=Open+Sans:700,600,800,400

к

//fonts.googleapis.com/css?family=Open+Sans:700,600,800,400

для

http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css

к

//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css

Ответ 4

Я столкнулся с этой проблемой, когда вы используете ссылки google cdn и недоступны (например, в стране, например, в Китае), попробуйте использовать локальные файлы вместо cdns