Foros del Web » Programando para Internet » PHP »

Problema con seguridad en php

Estas en el tema de Problema con seguridad en php en el foro de PHP en Foros del Web. Hola, mi problema es el siguiente. Tengo una pagina puesta en un servidor de PAGA en el cual tengo el siguiente codigo para que me ...
  #1 (permalink)  
Antiguo 19/03/2008, 16:11
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 3 meses
Puntos: 3
Problema con seguridad en php

Hola, mi problema es el siguiente.
Tengo una pagina puesta en un servidor de PAGA en el cual tengo el siguiente codigo para que me pida password y contraseña:
Código PHP:
         <?php // Seguridad de Galva-X Networks.
if (($PHP_AUTH_USER!="usuario") || ($PHP_AUTH_PW!="contraseña")) {
header('WWW-Authenticate: Basic realm="Acceso restringido"');
header('HTTP/1.0 401 Unauthorized');
echo 
'Acceso restringido.';
exit;
}
?>
Lo que pasa que este codigo si me funciona en el Servidor de Paga, pero cuando lo quiero probar en un mi computadora donde instale Apache, no funciona. Que podria ser?.
PD: Si me pide el password, pero no me lo acepta, me dice que son incorrectos.
  #2 (permalink)  
Antiguo 19/03/2008, 16:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Problema con seguridad en php

Cambia $PHP_AUTH_USER por $_SEVER['PHP_AUTH_USER'] y $PHP_AUTH_PW por $_SERVER['PHP_AUTH_PW'].

Saludos.
  #3 (permalink)  
Antiguo 19/03/2008, 16:56
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 3 meses
Puntos: 3
Re: Problema con seguridad en php

Muchas gracias!, pero sigo con la duda porque si funciona en el server de pago y no en mi compu? No se si sea porque tengo las register_globals apagadas en mi comu, sera por eso?
  #4 (permalink)  
Antiguo 19/03/2008, 17:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Problema con seguridad en php

Así es, cuando tu tienes register_globals en On, esas variables están disponibles, pero cuando lo pasas a Off, tienes que leerlas desde $_SERVER.

Saludos.
  #5 (permalink)  
Antiguo 19/03/2008, 18:00
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 3 meses
Puntos: 3
Re: Problema con seguridad en php

y cual es mejor? con los register_globals prendidos o apagados? por cierto, acabo de cambiarlos y sigo teniendo el mismo problema! :(

Última edición por alonsoandres; 19/03/2008 a las 18:13
  #6 (permalink)  
Antiguo 19/03/2008, 19:22
Avatar de TheViejo  
Fecha de Ingreso: marzo-2007
Ubicación: Delante de mi Vetusto PC.
Mensajes: 29
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: Problema con seguridad en php

Hola.

La mejor forma es tener register_globals en off, ya que es mas seguro.

Usar las variables globales $PHP_AUTH_USER, $PHP_AUTH_PW y $PHP_AUTH_TYPE solo funciona si PHP ha sido instalado como un módulo de Apache, si ha sido instalado como un CGI no funcionan y ha de usarse $_SEVER para recuperarlas.


Un saludo.
  #7 (permalink)  
Antiguo 19/03/2008, 19:50
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 3 meses
Puntos: 3
Re: Problema con seguridad en php

presisamente, acabo de cambiarlo a $Server pero aun no funciona
  #8 (permalink)  
Antiguo 19/03/2008, 20:00
Avatar de TheViejo  
Fecha de Ingreso: marzo-2007
Ubicación: Delante de mi Vetusto PC.
Mensajes: 29
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: Problema con seguridad en php

Tiene que usar una de estas :
$_SEVER['PHP_AUTH_USER']
$_SEVER['PHP_AUTH_PW']
$_SEVER['PHP_AUTH_TYPE']

Prueba este código.

Código PHP:
<?php // Seguridad de Galva-X Networks.
if (($_SEVER['PHP_AUTH_USER'] != "usuario") || ($_SEVER['PHP_AUTH_PW'] !="contraseña")) {
header('WWW-Authenticate: Basic realm="Acceso restringido"');
header('HTTP/1.0 401 Unauthorized');
echo 
'Acceso restringido.';
exit;
}
?>
Un saludo.
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




La zona horaria es GMT -6. Ahora son las 15:00.