it-swarm.com.de

Laden der Google-Schriftart in HTTPS, der Inhalt wird blockiert

Es gibt ein WordPress-Design, das die ausgewählte Optionsschriftart automatisch abruft und von Google-Schriftart anfordert. Wenn für einige ausgewählte Seiten SSL erforderlich war, wurde die Schriftart missing.

Anzeigen des Konsolenprotokolls:

[blockiert] Die Seite unter ' https://www.example.com/ ' wurde über HTTPS geladen, führte jedoch zu unsicherem Inhalt von ' http://fonts.googleapis.com/css?family=Alegreya + Sans: 300.400.500.700.800 ': Dieser Inhalt sollte auch über HTTPS geladen werden.

würde in den Code gehen und alle Anfragen in https von Google Font funktionieren? Gibt es eine Problemumgehung?

habe den Quellcode gefunden ... aber es scheint, als würde er das schon tun ... könnte es einen Fehler in der if-Logik geben?

$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

Bearbeiten Sie Ihr Design und ersetzen Sie alle Vorkommen von http://fonts.googleapis.com/... durch https://fonts.googleapis.com/... (beachten Sie die s ).

Ressourcen, die ein Sicherheitsrisiko darstellen könnten (z. B. Skripts und Schriftarten), müssen aus einem offensichtlichen Grund über eine sichere Verbindung geladen werden, wenn sie im Kontext einer gesicherten Seite angefordert werden: Sie könnten auf dem Weg manipuliert worden sein. 

42

Relative URIs des Protokolls verwenden

Verwenden Sie einfach ein //-Präfix. (instead of http[s]://)

  • Auf einer https-Seite wird die sichere Version geladen.
  • Auf einer einfachen http-Seite wird die reine http-Version geladen.

Bearbeiten Sie Ihr Design, indem Sie jedes Vorkommen von http://fonts.googleapis.com/... durch //fonts.googleapis.com/... ersetzen.

23
harmv

lassen Sie den Browser alle Dinge erledigen, entfernen Sie einfach "http" aus Ihrer Referenz.

ebenso müssen Sie für andere Bibliotheken auch dann vorgehen, wenn Sie mit demselben Problem konfrontiert sind.

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

zu

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

gleich für 

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

zu

//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css
7
Yatender Singh

Ich bin mit diesem Problem konfrontiert, wenn Sie Google-CDN-Links verwenden und auf die nicht zugegriffen werden kann (z. B. Land wie China). Versuchen Sie, lokale Dateien anstelle von CDNs zu verwenden 

0
Ashish Devade