Tutorial: Forzar las url mediante javascript de http a https

  • Autor Autor SnakeNet
  • Fecha de inicio Fecha de inicio
S

SnakeNet

Xi
Programador
Forzar la url mediante javascript de http a https

Todos sabemos que por seguridad la mayoría de los sitios están implementando el https y se esta quedado detrás el http pero cuando se trata de alterar varias entradas con iframe o urls http como es el caso de ammje que aún no lo hayan forzado para que use https pese a tener configurado para que carguen mediante https como suele ser en los iframes la solución es remplazar mediante javascript.

Aclarar que se puede remplazar el código para que sea más especifico o darle otro uso dado que no todos los sitios están aún con la disponibilidad del https que ya están tardando en adaptarse.

Y pues dado que el código que os voy a facilitar es genérico va a remplazar todos los iframes y url que estén utilizando http y los va a pasar a https pero eso puede ocasionar que algunos sitios aún no soporte https y no carguen en ese caso el código deberás adaptarlo a tu necesidad, ya bien sea para x urls y demás.


Es necesario tener jQuery y aplicar el código en el head que os dejo justo debajo.

Insertar CODE, HTML o PHP:
if (document.location.protocol === 'https:') {
$('iframe').each(function() {
var src = $(this).attr('src');
if (src.indexOf('http:') > -1) {
src = src.replace('http:', 'https:');
$(this).attr('src', src);
}
});


$('a').each(function() {
var href = $(this).attr('href');
if (href.indexOf('http:') > -1) {
href = href.replace('http:', 'https:');
$(this).attr('href', href);
}
});
}

Ahí estoy haciendo que remplace los enlaces y el iframe que usen http pasen a https y a continuación os detallo los códigos por separado por si solo necesitáis alterar una o la otra.

En este código solo remplazara el http a https de los enlaces.

Insertar CODE, HTML o PHP:
if (document.location.protocol === 'https:') {
$('a').each(function() {
var href = $(this).attr('href');
if (href.indexOf('http:') > -1) {
href = href.replace('http:', 'https:');
$(this).attr('href', href);
}
});
}

En este código solo remplazara el http a https en los iframes.

Insertar CODE, HTML o PHP:
if (document.location.protocol === 'https:') {
$('iframe').each(function() {
var src = $(this).attr('src');
if (src.indexOf('http:') > -1) {
src = src.replace('http:', 'https:');
$(this).attr('src', src);
}
});
}

Por ultimo aclarar que "document.location.protocol === 'https: " esta detectando si usa https en caso de que no, no efectuara los cambios lo que es útil para sitios como forobeta que te permite acceder mediante las dos rutas hasta el momento, así no afecta al resto.

Aquí os dejo la demostración cargando https y sin https.

Accediendo mediante https con contenido http.

Accediendo mediante http con contenido http, sin aplicar ningún cambio.
 
Última edición:
Muy buen aporte amigo, excelente :welcoming:
 
Gracias por el APorte seguro sera de mucha ayuda para mi que vengo comenzando
 
Excelente! un tema interesante :encouragement:
 
Excelente aporte 😛7:
 
Gran aporte amigo, gracias por tomarte el tiempo de compartirlo :encouragement:
 
Gran aporte, muchas gracias por tomarte el tiempo de ayudar. 😛8:
 
buen aporte de seguro lo voy a usar en un sitio que tengo pensado agregar https:devilish:, saludos:encouragement:
 
Buen tutoriale, aunque podría ser más sencillo solo añadiendo la redirección en el HTACCESS (o como se escriba).
 
Muy buen aporte amigo, excelente :welcoming:

Espero que te haya sido de utilidad 😉
Gracias por el APorte seguro sera de mucha ayuda para mi que vengo comenzando

Seguramente llegue a serte útil en algún momento, nunca se sabe.

Excelente! un tema interesante :encouragement:

Gracias 😛8:

Excelente aporte 😛7:

Gracias 😛8:

Gran aporte amigo, gracias por tomarte el tiempo de compartirlo :encouragement:

De nada me pidieron ayuda por MP, ya que ayudaba a uno también compartirlo con el resto, que les pueda servir :welcoming:

Gran aporte, muchas gracias por tomarte el tiempo de ayudar. 😛8:

De nada para eso estamos, hoy por ti mañana por mi, espero que te haya servido en tu situación teóricamente debería haberse adaptado bien.

buen aporte de seguro lo voy a usar en un sitio que tengo pensado agregar https:devilish:, saludos:encouragement:

Espero que te sirva, recuerda es útil siempre y cuando no tengas acceso a htaccess como es por ejemplo blogger.

Buen tutoriale, aunque podría ser más sencillo solo añadiendo la redirección en el HTACCESS (o como se escriba).

Pero es para sitios que no tienen acceso a htaccess, en caso de tener acceso también lo tendrás a la db y con una simple linea sql puedes hacer dicho remplazo. 😛8:
 
Atrás
Arriba