web-dev-qa-db-fra.com

Chargement de la police Google dans HTTPS, contenu bloqué

Il existe un thème wordpress qui sélectionne automatiquement la police sélectionnée et la demande à Google. lorsque ssl était requis pour quelques pages sélectionnées, la police est devenue missing

Affichage du journal de la console:

[bloqué] La page située sur ' https://www.example.com/ ' a été chargée via HTTPS, mais le contenu non sécurisé de ' http://fonts.googleapis.com/css?family=Alegreya + Sans: 300,400,500,700,800 ': ce contenu devrait également être chargé via HTTPS.

entrer dans le code et faire toutes les demandes en https à partir de Google police fonctionne? Y at-il une solution de contournement à cela?

a trouvé le code source ... mais semble avoir déjà fait 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
vico

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

Les ressources pouvant présenter un risque pour la sécurité (tels que les scripts et les polices) doivent être chargées via une connexion sécurisée lorsque cela est demandé dans le contexte d'une page sécurisée pour une raison évidente: elles auraient pu être manipulées en cours de route. 

42
Stefano Sanfilippo

Utiliser URI relatifs au protocole

Utilisez simplement un préfixe //. (instead of http[s]://)

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

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

23
harmv

laissez le navigateur s'occuper de tout ce qui est juste, supprimez "http" de votre référence.

de même, vous devez le faire pour les autres bibliothèques, même si vous rencontrez le même problème avec elles

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

à

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

pareil 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
Yatender Singh

J'ai rencontré 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 de cdns 

0
Ashish Devade