Foros del Web » Programando para Internet » PHP »

Error: Se ha alcanzado el limite de redirecciones para esta direccion...

Estas en el tema de Error: Se ha alcanzado el limite de redirecciones para esta direccion... en el foro de PHP en Foros del Web. Hola. Estoy obteniendo el siguiente error: Se ha alcanzado el limite de redirecciones para esta direccion. La pagina no puedo ser cargada. Esto puede ser ...
  #1 (permalink)  
Antiguo 20/12/2004, 03:39
 
Fecha de Ingreso: julio-2004
Mensajes: 34
Antigüedad: 19 años, 9 meses
Puntos: 0
Error: Se ha alcanzado el limite de redirecciones para esta direccion...

Hola.
Estoy obteniendo el siguiente error:

Se ha alcanzado el limite de redirecciones para esta direccion. La pagina no puedo ser cargada. Esto puede ser causado por cookies bloqueadas.

¿Saben porque puede darse? El codigo que lo produce es el siguiente:

if($_SERVER['HTTP_REFERER']=='http://pagina.php')
{
header("Location: https://pagina.php");
die("");
}

Lo utilizo para lo siguiente: tengo un formulario en una pagina: https://pagina.php .Me he dado cuenta de que si pongo http://pagina.php, tambien se puede acceder a la pagina y procesar el formulario, con lo que se pierden todas las ventajas del https. Lo que intento es forzar a que se use la pagina https.

Alguna idea de que significa ese error? o como impedir que se use la pagina con http?

Gracias y saludos.
  #2 (permalink)  
Antiguo 20/12/2004, 16:37
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
Sospecho que la condición del if siempre es evaluada como true, entonces entras en un bucle infinito de redirecciones, lo que genera el error de que las redirecciones excedieron el número máximo permitido. La variable $_SERVER['HTTP_REFERER'] es "seteada" por el cliente, no debe ser fuente de información confiable, no la uses.
Según la documentación de php, si usas apache esto puede funcionar:
Código PHP:
if ( !isset($_SERVER['HTTPS']) || strtolower($_SERVER['HTTPS']) != 'on' ) {
   
header ('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
   exit();

saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 02:05.