vico
Hay un tema de wordpress que extrae automáticamente la opción de fuente seleccionada y la solicita de la fuente de Google. cuando se necesitaba SSL para algunas páginas seleccionadas, la fuente se convirtió en missing
Visualización del registro de la consola:
[blocked] La página en ‘https://www.ejemplo.com/‘ se cargó a través de HTTPS, pero ejecutó contenido no seguro desde ‘http://fonts.googleapis.com/css?family=Alegreya+Sans:300,400,500,700,800‘: este contenido también debe cargarse a través de HTTPS.
¿Entraría en el código y haría que todas las solicitudes en https desde la fuente de Google funcionaran? ¿Hay alguna solución a esto?
Encontré el código fuente… pero parece que ya lo está haciendo… ¿podría haber un error en la lógica 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.'" />';
}
Stefano Sanfilippo
Edite su tema reemplazando cada ocurrencia de http://fonts.googleapis.com/...
con https://fonts.googleapis.com/...
(Cuidado con el s).
Los recursos que pueden representar un riesgo para la seguridad (como scripts y fuentes) deben cargarse a través de una conexión segura cuando se solicitan en el contexto de una página segura por una razón obvia: podrían haber sido manipulados en el camino.
-
Sí, es posible lo contrario (cargar recursos vía TLS/SSL en una página no segura).
– Stefano Sanfilippo
2 de julio de 2014 a las 14:39
-
Ok, solo necesitaba confirmar, entraré en el código entonces. gracias~
– vico
02/07/2014 a las 14:40
-
¿Alguna idea sobre el código que publiqué? parece que ya lo está haciendo, pero la declaración if parece ser falsa incluso en https
– vico
2 de julio de 2014 a las 14:45
-
Dejaste una espuria
s://
en el<link ...
línea. De todos modos, no necesitas eso, solo usa URI relativos al protocolo y listo– Stefano Sanfilippo
2 de julio de 2014 a las 15:15
-
Tres años después, la situación ha cambiado. Hoy en día se desaconsejan los URI relacionados con el protocolo, dado que las conexiones seguras son más fáciles de configurar y muy baratas, si no casi gratuitas, para muchos usos comunes. Si puede servir a través de
https
entonces por todos los medios, hazlo.– Stefano Sanfilippo
17 de junio de 2017 a las 12:23
daño
Usar URI relativos al protocolo
solo usa un //
prefijo. (instead of http[s]://
)
- En una página https, se cargará la versión segura.
- En una página http simple, se cargará la versión http simple.
Edite su tema reemplazando cada ocurrencia de http://fonts.googleapis.com/...
con //fonts.googleapis.com/...
deje que el navegador maneje todas las cosas simplemente elimine ‘http’ de su referencia.
del mismo modo, debe hacerlo con otras bibliotecas también si enfrenta el mismo problema con ellas, por ejemplo
https://fonts.googleapis.com/css?family=Open+Sans:700,600,800,400
a
//fonts.googleapis.com/css?family=Open+Sans:700,600,800,400
igual por
http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css
a
//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css
Me enfrenté a este problema cuando usaba enlaces cdn de Google y que no son accesibles (como un país como China), intente usar archivos locales en lugar de cdns