Chargement de la police Google en HTTPS, le contenu étant bloqué

Il y a un thème wordpress qui tire automatiquement l'option police choisie et la demande à partir de Google font. lorsque ssl était nécessaire pour quelques pages sélectionnées, la police devenait missing

Affichage du journal de la console:

[Bloqué] la page à ' https://www.example.com/ 'a été chargé via HTTPS, mais a exécuté du contenu non sécurisé à partir de' http://fonts.googleapis.com/css?family=Alegreya+Sans: 300,400,500,700,800 ': ce contenu doit également être chargé sur HTTP.

Entrerait-il dans le code et ferait-il fonctionner toutes les requêtes en https à partir de Google font? Est-il une solution à cela?

Trouvé le code source... mais semble comme c'est déjà cela... pourrait - il y avoir une erreur dans la logique 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.'" />';
            }
24
demandé sur Anand Bhat 2014-07-02 18:34:10

4 réponses

Modifiez votre thème en remplaçant chaque occurrence de http://fonts.googleapis.com/... par https://fonts.googleapis.com/... (attention aux s ).

Les ressources qui pourraient poser un risque de sécurité (comme les scripts et les polices) doivent être chargées via une connexion sécurisée lorsqu'elles sont demandées dans le contexte d'une page sécurisée pour une raison évidente: elles auraient pu être manipulées en cours de route.

40
répondu Stefano Sanfilippo 2014-07-02 14:37:01

Utilisez les URI relatives au Protocole

Il suffit d'utiliser un // préfixe. (instead of http[s]://)

  • sur une page https, la version sécurisée sera chargée.
  • sur sur une page http simple, la version http simple sera chargée.

Modifiez votre thème en remplaçant chaque occurrence de http://fonts.googleapis.com/... par //fonts.googleapis.com/...

21
répondu harmv 2018-09-26 10:19:58

Laissez le navigateur gérer toutes les choses simplement supprimer 'http' de votre référence.

De même, vous devez faire pour d'autres bibliothèques aussi si vous rencontrez le même problème avec eux par exemple

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

À

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

Même chose pour

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
7
répondu Yatender Singh 2016-11-10 07:42:05

J'ai fait face à ce problème lorsque vous utilisez des liens google cdn et qui ne sont pas accessibles (comme un pays comme la Chine), essayez d'utiliser des fichiers locaux à la place des CDN

0
répondu Ashish Devade 2017-12-16 05:07:34