elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Problema redirección URL (javascript)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema redirección URL (javascript)  (Leído 2,538 veces)
motocros_elche


Desconectado Desconectado

Mensajes: 897


Yona http://www.youtube.es/YonaTutorials


Ver Perfil WWW
Problema redirección URL (javascript)
« en: 27 Diciembre 2015, 12:45 pm »

hace unos años, gracias a la ayuda de varios miembros en este foro, conseguí crear un archivo .php que redirigiese a la web que tuviese al final de la url.

web.com/archivo.php?page=web2.com redirigue a web2.com mostrando una web de espera durante unos segundos.

Ahora veo que ha dejado de funcionar en ciertos navegadores y no se si es por que usa javascript o por el hosting, pero me gustaría saber si es posible hacer lo mismo sin usar javascript.

Actualmente solo me funciona en firefox y no es por la cache.

Este es el código del archivo en cuestión:
Código:
<?php
if ( isset( $_GET['page'] )) {
$page = $_GET['page'];
}
?>
<html>
<head>
<script type="text/javascript">
<!--
function delayer(){
    window.location = "<?php echo $page; ?>"
}
//-->
</script>
</head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?php header("Content-Type: text/html; charset=utf-8");?>
<body onLoad="setTimeout('delayer()', 15000)">

<center>

<p>&nbsp;</p>
<b><p>Esta siendo redirigido a la página web</p></b>
<p></p>
</p>
</center>
</body>
</html>

He supuesto que tal vez es por lo que sucedió con la seguridad que los navegadores bloquearon javascript y demás.
Así que no sé si es posible hacer esto sin javascript o si es algún error del código que debo actualizar, de antemano, muchas gracias.


« Última modificación: 27 Diciembre 2015, 13:40 pm por motocros_elche » En línea

furby86

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Re: Problema redirección URL (javascript)
« Respuesta #1 en: 27 Diciembre 2015, 14:36 pm »

Buenas tardes motocros_elche.

La solución pasa por incorporar el siguiente código dentro de la condición if para el GET de $page

Código:
<?php
if ( isset( $_GET['page'] )) {
    $page = $_GET['page'];
    header("Location: $page");
}
?>

Es importante que la función header se ejecute antes de la impresión de caracteres HTML, si eso pasa ya no funciona.

Espero que te ayude con tu problema.


En línea

motocros_elche


Desconectado Desconectado

Mensajes: 897


Yona http://www.youtube.es/YonaTutorials


Ver Perfil WWW
Re: Problema redirección URL (javascript)
« Respuesta #2 en: 27 Diciembre 2015, 15:27 pm »

Buenas tardes motocros_elche.

La solución pasa por incorporar el siguiente código dentro de la condición if para el GET de $page

Código:
<?php
if ( isset( $_GET['page'] )) {
    $page = $_GET['page'];
    header("Location: $page");
}
?>

Es importante que la función header se ejecute antes de la impresión de caracteres HTML, si eso pasa ya no funciona.

Espero que te ayude con tu problema.
hola, gracias por tu respuesta, he añadido esa linea al código y ahora lo que hace es rediriguir sin tiempo de espera y sin mostrar la web de redirección.
Por lo que veo donde no funciona es en opera solamente, (borra la url de redirección), aún que usando el código que has puesto, redirecciona en todos los navegadores, pero claro, deja de funcionar el tiempo de espera y no muestra la web de redirección...
En línea

xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: Problema redirección URL (javascript)
« Respuesta #3 en: 27 Diciembre 2015, 15:53 pm »

Código
  1. <?php
  2. function goto($url, $delay=0) {
  3.    header("refresh: $delay; $url");
  4. }
  5. ?>

Esta función redireccionará a $url en $delay segundos. En tu caso:

Código
  1. <?php
  2. if (isset( $_GET['page'])) {
  3.    goto($_GET['page'], 15);
  4. }
  5. ?>

Será en 15 segundos.

Saludos!
« Última modificación: 27 Diciembre 2015, 15:56 pm por xiruko » En línea

gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
Re: Problema redirección URL (javascript)
« Respuesta #4 en: 1 Enero 2016, 17:01 pm »

Ya somos 3  ;D

Simplemente recordar que para que funcione como quieres el mensaje debe ir despues del header, un ejemplo y otra manera de hacerlo:

Código
  1. header('Refresh: 5; url=' . $_GET['page']);
  2. echo 'Please Log In First';

Espero que no te hayas olvidado de limpiar la url, cualquiera podría inyectar código malicioso y hacer ataques XSS (y a saber que más).

Te recomiendo que cuanto menos "user input" uses directamente en tus aplicaciones mejor. Lo más seguro es usar ids (enteros) y compararlos con los que especifiques manualmente (si no son muchas urls) así no habrá ningún problema:

Código
  1. $id = isset($_GET['id']) ? (int) $_GET['id'] : 0;
  2.  
  3. if ($id > 0) {
  4.    $page = '';
  5.    switch ($id) {
  6.        case 1: $page = 'http://foro.elhacker.net/'; break;
  7.        case 2: $page = 'http://foro.elhacker.net/'; break;
  8.        case 3: $page = 'http://foro.elhacker.net/'; break;
  9.        case 4: $page = 'http://foro.elhacker.net/'; break;
  10.    }
  11.    header('Refresh: 15; url=' . $page);
  12. }

Que es el equivalente a:

Código
  1. <meta http-equiv="refresh" content="15; url=<?php echo $page; ?>">
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Un problema de redirección en Facebook se reproduce tras ser solucionado
Noticias
wolfbcn 0 1,229 Último mensaje 5 Abril 2013, 22:54 pm
por wolfbcn
Problema de redirección en linux
GNU/Linux
4ndr3s19 0 1,805 Último mensaje 30 Septiembre 2015, 16:37 pm
por 4ndr3s19
[Pregunta]: Problema con la redirección de un formulario
Desarrollo Web
Leguim 1 1,890 Último mensaje 16 Enero 2020, 22:04 pm
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines