Foros del Web » Programando para Internet » PHP »

No funcionan las cabeceras

Estas en el tema de No funcionan las cabeceras en el foro de PHP en Foros del Web. Tengo un archivo que contiene el siguiente codigo con cabeceras: Código PHP: <?      if (!isset( $PHP_AUTH_USER )) {          header ( 'WWW-Authenticate: Basic realm="Acceso restringido"' );          header ( ...
  #1 (permalink)  
Antiguo 28/04/2003, 05:24
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
No funcionan las cabeceras

Tengo un archivo que contiene el siguiente codigo con cabeceras:
Código PHP:
<?
    
if (!isset($PHP_AUTH_USER)) {
        
header('WWW-Authenticate: Basic realm="Acceso restringido"');
        
header('HTTP/1.0 401 Unauthorized');
        echo 
'Authorization Required.';
        exit;
    }
    else {
        echo 
"Ha introducido el nombre de usuario: $PHP_AUTH_USER<br>";
        echo 
"Ha introducido la contraseña: $PHP_AUTH_PW<br>";
    }
?>
El código se supone que es para que te salga la tipica ventana de red preguntandote el nombre de usuario y la contraseña. Sin embargo me sale el siguiente error:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


Estoy corriendo Apache bajo windows, y varias personas ke lo corren tb en windows me han dicho ke a ellas si ke les va.

¿A que puede ser debido esto y como puedo solucionarlo?

He pensado que puede ke puede ke tenga ke ver la configuración del httpd.conf de apache, pero no estoy seguro.
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)

Última edición por mdk; 28/04/2003 a las 05:42
  #2 (permalink)  
Antiguo 28/04/2003, 07:00
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

La autntificacion HTTP solo funciona si PHP esta instalado como modulo Apache. Si esta instalado como CGI te da ese error. El propio manual de PHP tiene una seccion donde explica este sistema y ahi indica esto.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 28/04/2003, 08:28
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
Tengo instalado el phptriad ke lleva apache, php, y mysql, asi ke no se si esta el php instalado como cgi, si esta asi como puedo cambiarlo para ke este como modulo apache?
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)
  #4 (permalink)  
Antiguo 28/04/2003, 08:30
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Debes configurar tu Apache para que soporte .htaccess y darle los permisos necesarios.
__________________
M a l d i t o F r i k i
  #5 (permalink)  
Antiguo 28/04/2003, 08:35
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
El PHPTriad lo instala como módulo...

Recuerda configurar tu .htaccess
__________________
Manoloweb
  #6 (permalink)  
Antiguo 28/04/2003, 08:36
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
mi apache soporta bien el .htaccess y el .htpasswd, el problema estaba con las cabeceras, pero ya lo solucione, instale php sobre el del phptriad poniendolo con modulo apache y ya se soluciono :)
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)
  #7 (permalink)  
Antiguo 28/04/2003, 09:49
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
Ahora el problema ke me surge, es ke me aparece la ventana, pongo el usuario, la contraseña, pero le doy a aceptar y me welve a preguntar como si hubiera sido incorrecto, asi hasta las 3 veces para posteriormente saltar a lo de pagina restringida. Lo curioso es ke le pongo ke muestre los campos nada mas introducirlos, pero no para de preguntarmelos aunke se los ponga. No veo donde esta el fallo si en ningun momento compruebo el usuario y el pass.
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)
  #8 (permalink)  
Antiguo 28/04/2003, 10:02
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Se supone que tienes que contrastar los datos subministrados por el usuario con algún archivo de passwords o una base de datos. Igual esté por ahí el error.
__________________
M a l d i t o F r i k i
  #9 (permalink)  
Antiguo 28/04/2003, 10:21
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
No cain, mira esta pagina: http://www.webestilo.com/php/php11a.phtml se supone ke en ella va como yo digo, sin ningun tipo de archivo. Lo ke pasa es ke en mi pc no va no se xk... no para de preguntarme user y pass
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)
  #10 (permalink)  
Antiguo 28/04/2003, 10:24
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Pero... ¿cómo sabe si el user y el pass son correctos si no lo contrasta con nada?
__________________
M a l d i t o F r i k i
  #11 (permalink)  
Antiguo 28/04/2003, 10:37
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
Porque no manda la pregunta de user y pass por servidor como en el .htaccess, es una cabecera y tu puedes decirle ke compruebe despues rellenar los datos y luego ke los muestre sin comprobar si existen o no. Porque x ejemplo para comprobar si esta el user y el pass tendria ke acceder a un BD, pero y si yo no kiero acceder a la BD y solo kiero mostrarlos? no puedo? claro ke puedo, pero no se xk no me va... .xD
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)
  #12 (permalink)  
Antiguo 28/04/2003, 10:44
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
¿Y logras que te muestre los datos, aparte de preguntártelos? Puede que las variables PHP_AUTH_USER y PHP_AUTH_PW deban ser accedidas usando $_SERVER[]
__________________
M a l d i t o F r i k i
  #13 (permalink)  
Antiguo 28/04/2003, 11:03
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
No, ahi precisamente esta el problema. No consigo ke me muestre los datos por pantalla. Entonces eso significa ke tp podria comprobarlos en una base de datos si antes no me deja mostrarlos por pantalla... xD

He probado lo ke me has dicho y tp me va, actualmente tengo asi el codigo:
Código PHP:
if ((!$_SERVER[$PHP_AUTH_USER]) || (!$_SERVER[$PHP_AUTH_PW])) { 
      
header('WWW-Authenticate: Basic realm="Privado"'); 
      
header('HTTP/1.0 401 Unauthorized'); 
      echo 
'<p><font face="Verdana" size="5" color="#FF0000"><b><i>ACCESO DENEGADO</i></b></font></p><p><font size="3">Necesitas autorización para poder entrar en esta pagina.</font></p>'
      exit; 
   } 
else { 
      echo 
"Ha introducido el nombre de usuario: $PHP_AUTH_USER<br>"
      echo 
"Ha introducido la contraseña: $PHP_AUTH_PW<br>"
   } 
aunke el if tb lo he tenido asi y tp va:
Código PHP:
if ((!$PHP_AUTH_USER) || (!$PHP_AUTH_PW)) { 
Alguien mas opina cual es el fallo?
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)

Última edición por mdk; 28/04/2003 a las 11:07
  #14 (permalink)  
Antiguo 28/04/2003, 11:10
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
No sería:
Código PHP:
<?
if ((!$_SERVER[$PHP_AUTH_USER]) || (!$_SERVER[$PHP_AUTH_PW])) { 
?>
Sino:
Código PHP:
<?
if ((!$_SERVER["PHP_AUTH_USER"]) || (!$_SERVER["PHP_AUTH_PW"])) { 
?>
__________________
M a l d i t o F r i k i
  #15 (permalink)  
Antiguo 28/04/2003, 11:48
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
tb lo probe asi y no iba... no se pero estoy pesando ke sera culpa de mi servidor y no del codigo...
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)
  #16 (permalink)  
Antiguo 28/04/2003, 11:51
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
¿Has verificado que las variables PHP_AUTH_USER y PHP_AUTH_PW existan realmente? O, si existen, ¿existen en la versión de PHP instalada en tu servidor?
__________________
M a l d i t o F r i k i
  #17 (permalink)  
Antiguo 28/04/2003, 11:53
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Pues sí existe, jeje. En la documentación oficial he encontrado esto, igual te sirve: http://www.php.net/manual/en/feature...ures.http-auth
__________________
M a l d i t o F r i k i
  #18 (permalink)  
Antiguo 28/04/2003, 12:25
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
Nada, nada, ya esta... era x culpa de mi configuracion de Apache, me instale otra version y me va perfectamente.

Ahora el problema ke tengo es ke al ejecutar apache, si cierro la ventana de Apache para ke no se vea en la barra de tareas, se cierra tb apache, cosa ke no me ocurria antes. Hay alguna forma de ke no se vea la ventana y se siga ejecutando apache?
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)
  #19 (permalink)  
Antiguo 28/04/2003, 12:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Hombre .. claro que si cierras esa ventana cierras apache (Apache 1.3.x) ..

Si quieres puedes usar un "manager" de Apache como .. por ejemplo el que se indica al final de este tutorial de instalción de PHP+Apache+Msyl ..

http://www.mundodivx.com/php/php.html

Apache 2.x no sale ya en una ventana "DOS" sino q traé su propio "manager" .. Pero, para windows te recomiendo que sigas con tu Apache 1.3.x y si quieres uses ese u otro "Manager" ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #20 (permalink)  
Antiguo 28/04/2003, 14:06
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
Nada, ya lo solucione tb, xDDD ya puedo cerrarla y no se cierra apache ;P

Gracias a todos :)
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)
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 20:51.