it-swarm-es.tech

Cambie http a https en el código fuente cuando use SSL

Recientemente habilité Force_SSL en uno de mis sitios de Joomla (habilitando "Forzar SSL" en la Configuración global), pero me encuentro con problemas con el contenido bloqueado (contenido no SSL) tanto de las fuentes de Google como de varios scripts externos de JotForm .com (cargado a través de "http: //" en plantilla y contenido).

Para este sitio en particular, resolví el problema revisando el código y cambiando cada referencia externa http://... A https://... O simplemente //..., Pero mi pregunta es:

¿Podría resolverse esto de manera más fácil o más eficiente cambiando automáticamente http://... A https://... En el código fuente (con un complemento) o usando el archivo .htaccess?

5
johanpw

Definitivamente desea configurar un complemento para esto. Básicamente, el objetivo sería reescribir cualquier http:// o https:// para sólo //. Como beneficio adicional, solo podemos hacer esta verificación dentro de las etiquetas (por lo que no afecta a las URL solo en la página.

Un complemento del sistema con este método debería hacer el truco:

public function onAfterRender() {
    $buffer = JResponse::getBody();
    $pattern = '~(<[^>]{0,}["\'])(https?://)~iU';
    $replacement = '$1//';
    $buffer = preg_replace($pattern, $replacement, $buffer);
    JResponse::setBody($buffer);
}

Esto probablemente aún atrapará algo que no desea reemplazar con solo //, ¡Pero es un comienzo!

2
David Fritsch

Hay un gran complemento para esto hecho por Yireo https://www.yireo.com/software/joomla-extensions/ssl-redirect

Joomla! se puede configurar para usar SSL. Pero esto no significa que todas sus páginas seguras se mantengan seguras. Este complemento fuerza lo que realmente se requiere: HTTPS o HTTP.

Lo mejor de todo es que los desarrolladores son muy receptivos ... lo que hace una gran diferencia para mí.

1
Joseph

No necesita usar el protocolo en un enlace js. Puedes usar // y se seleccionará el protocolo correcto para usted.

P.ej.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

Simplemente haría una búsqueda/reemplazo global en mi código y lo dejaría así, y usaría //src.js avanzando.

1
user101289