Foros del Web » Programando para Internet » PHP »

Una duda de sesiones

Estas en el tema de Una duda de sesiones en el foro de PHP en Foros del Web. Hola: Me he fijado en los script sobre autentificacion como el de Cluster y otros, que utilizan lo sgte: Código PHP: . . . if(!isset( ...
  #1 (permalink)  
Antiguo 01/12/2003, 09:13
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
Una duda de sesiones $PHP_AUTH

Hola:
Me he fijado en los script sobre autentificacion como el de
Cluster y otros, que utilizan lo sgte:
Código PHP:
.
.
.
if(!isset(
$PHP_AUTH_USER))
     echo 
"Acceso denegado"
pero no entiendo si la variable $PHP_AUTH_USER esta definida dentro de PHP o viene de otro formulario

Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE

Última edición por KillerBKS; 02/12/2003 a las 11:36
  #2 (permalink)  
Antiguo 01/12/2003, 09:18
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Pues esa variable no tiene que ver con las sesiones. Es una variable que crea el Apache cuando se usa la autentificacion HTTP. Mas info http://www.php.net/manual/en/features.http-auth.php . Uno de los problemas de esta autentificacion es la dificultad para hacer un logout en condiciones. Ademas de solo funcionar en PHP como modulo de Apache.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 01/12/2003, 09:35
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
como puedo saber si mi PHP funciona como modulo de Apache??

Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
  #4 (permalink)  
Antiguo 01/12/2003, 09:47
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Al hacer un phpinfo(), en el primer bloque hay una valor que te indica el Server API. Si pone Apache es modulo, si pone CGI es CGI.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 01/12/2003, 12:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
(Aclaración: mi Autentificator no usa $PHP_AUTH_USER .. osease, no usa autentificación HTTP. Sólo sesiones y BD Mysql para la gestión de los datos de los usuarios. )

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 02/12/2003, 08:55
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
como puedo hacer para que mi PHP funcione como modulo de apache ?
Supongo que debo modificar el php.ini que esta en c:\winnt y el que esta en c:\php

¿ existe algun paquete de instalacion (php, mysql, apache) que venga listo el php como modulo de apache ?

Ojala sepan como hacerlo

Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
  #7 (permalink)  
Antiguo 02/12/2003, 09:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Paquete listo que instale PHP como Mòdulo de Apache no conozco .. pero si ya conoces algo PHP sería bueno que aprendieses a instalarlo manualmente .. sobre todo para actualizar versiones cuando a ti te apetezca y no depender de nada más extra ..

Puedes serguir esta guìa de instalación:
http://www.maestrosdelweb.com/editorial/phpmysqlap/


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 02/12/2003, 09:20
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
OK
Gracias
Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
  #9 (permalink)  
Antiguo 02/12/2003, 10:07
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
sobre $PHP_AUTH

Una vez instaldo PHP como modulo de apache, puedo hacer referencia inmediatamente a la variable $PHP_AUTH_USER
o no?
o debo modificar algo mas para obtener su valor ?

Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE

Última edición por KillerBKS; 02/12/2003 a las 11:11
  #10 (permalink)  
Antiguo 02/12/2003, 11:22
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
creo que estan $PHP_AUTH_USER, $PHP_AUTH_PASS pero no se que otras variables existen.
Estas variables permanecen durante todo el tiempo que se esta logueado ?
Si tengo lo sgte:
index.php
Código PHP:
<form name="form" method="post" action="ingreso.php">
<
input type="text" name="login">
<
input type="password" name="pass">
<
input type="submit" name="entrar">
</
form
Que relacion tienen el campo login y pass con $PHP_AUTH_USER y $PHP_AUTH_PASS ?
Se debe agregar algo mas en el archivo index.php que solicita el login y password ?

Ojala entiendan

Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
  #11 (permalink)  
Antiguo 02/12/2003, 11:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Deberias usar mejor $_SERVER en lugar de acceso "global" a esas variables de servidor ...

$_SERVER['PHP_AUTH_USER'] ..

Lee bien la documentación sobre autentificación HTTP . .Estás confundido con lo que pretendes hacer. Esas variables de servidor PHP_AUTH_USER y afines .. viene (llegan) desde el formulario de LOGIN que dá el Sistema operativo . .pero no de TUS formularios HTML que puedas hacer ..

Por lo menos .. así es como funciona la autentificación HTTP. Otra cosa es que uses otros sistemas de autentificación como una simple validación (si es para un sólo script) .. o sessiones/cookies para más páginas/scripts donde esas variabels de sesiòn o cookies te serviran para hacer el "seguimiento" (tracking) al usuario en todas las páginas/scripts que circule por tu aplicación.

Más info Autentificación HTTP:
http://www.php.net/manual/en/features.http-auth.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 02/12/2003, 12:00
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
sip......creo que tengo una gran confusion

:(
__________________
AK.T.I.V.E.tm Live, Never DIE
  #13 (permalink)  
Antiguo 02/12/2003, 12:09
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
y donde esta o como se hace ese formulario de LOGIN que dá el Sistema Operativo ?
__________________
AK.T.I.V.E.tm Live, Never DIE
  #14 (permalink)  
Antiguo 02/12/2003, 12:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En el LINK que te dejé del manual oficial de PHP. Tienes dos ejemplos y toda la teoría que busques.

Tienes PHP ya instalado como Módulo de Apache?

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #15 (permalink)  
Antiguo 02/12/2003, 12:37
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
No....mas tarde tratare de configurarlo con el manual que me enviaste anteriormente

Otra cosa:
Mi idea es la de todos. Un formulario en donde se ingrese el login y password y verificar si existen y si son correctos.
Hice un simple formulario que valida eso y funciona bien
1.php
Código PHP:
<form name="form" method="post" action="2.php">
<
input type="text" name="login">
<
input type="password" name="pass">
<
input type="submit" name="entrar">
</
form
2.php
Código PHP:
include("conex.php");//conexion a la BD
$result=mysql_query("select * from users where nick='".$login."' and password='".$password."'");
if(
mysql_num_rows($result)==1)
     echo 
"correcto";
else
     echo 
"incorrecto"
eso no tiene nada del otro mundo.
Ahora bien, como puedo hacer que ese ingreso de login y password se ejecute solo una vez (cuando entra la primera vez a la aplicacion) y que no me lo pregunte cada vez que quiera entrar a una pagina autentificada.
Me imagino que agregando un include en cada pagina autentificada, y dentro del include poner el nombre del archivo que valida el login y password.
Ahora bien, una vez que el usuario ha ingresado sus datos (login y password) donde quedan ? ¿Tengo que registrar esas variables como globales? Ya tengo el register_globals en ON.

Espero que me entiendan.

Gracias y Salu2
[/PHP]
__________________
AK.T.I.V.E.tm Live, Never DIE
  #16 (permalink)  
Antiguo 02/12/2003, 13:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usando sessiones o cookies (ya te lo he mencionado varias veces en este mensaje) ..

Mi script Autentificator hace todo eso basado en sesiones para "propagar" esas variables. (en mi perfil .. www lo puedes ver)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #17 (permalink)  
Antiguo 02/12/2003, 15:07
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
Gracias........luego de pensar un poco y leer bastante se me alumbro la mente.

Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
  #18 (permalink)  
Antiguo 13/07/2004, 15:28
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
Lei en un mensaje aca en el foro que las sesiones utilizaban a las cokies, pero no se de que forma.
En mi aplicación en ningun script utilizo el SID, no lo paso en ningun parametro ni por formulario post ni por get.
¿ Deberia enviarlo en algun momento ?
¿ Si un usuario tiene deshabilitada las cokies no podra ingresar a mi aplicación ?
¿ De que me sirve propagar el SID ?
¿ El SID se propaga solo o no ?

Espero su ayuda.
Gracias.

PD:En todo casa mi aplicación ya funciona bien, pero son dudas que me surgieron leyendo aca en el foro.

Salu2 !!!
__________________
AK.T.I.V.E.tm Live, Never DIE
  #19 (permalink)  
Antiguo 13/07/2004, 16:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
¿ Deberia enviarlo en algun momento ?
Si tu en tu programación no estás usando el SID (forzosamente) y al parecer "no lo ves", revisa la configuración de PHP (php.ini o phpinfo()) por qué ahí veras cosas como:

session.use_cookies = ON
session.use_trans_sid = ON (o a off)

Esas directivas definen como PHP va a propagar el SID y de que forma .. ya sea en cookies (la primera directiva) o bien va a "sobre-escribir" ciertos tags (lo define la directiva de más abajo en el php.ini: url_rewrite_tags) para añar el SID automáticamente en esos links, formularios, y demás redireccionamientos (salvo en redireccionamientos javascript y header (location .. ) entre otros).

Cita:
¿ Si un usuario tiene deshabilitada las cokies no podra ingresar a mi aplicación ?
Si propagas el SID en cookies (bajo la configuración que ya te indiqué) . si un usuario (su navegador) no acepta cookies .. no podrá usar tu sistema de sesiones. Si usas session.use_trans_sid =ON (según la explicación que acabo de dar al respecto) .. te funcionará tu aplicación que usa sesiones hasta el momento que hagas un redireccionmiento que NO sobre-escriba PHP como los mencionados.

Cita:
¿ De que me sirve propagar el SID ?
Pues esto nada menos y nada más que es el "pilar" fundamental de la teoría de sesiones. De algún modo "PHP" tiene que saber que datos son de "qué" cliente y eso lo hace por ese "SID" que es el "Identificador único de sesión" .. por eso si no se propaga o se pierde .. "pierdes" el vinculo/relación con los datos que le pertenecen y que PHP guarda en un archivo (en session.save_path) con nombre de ese ID de sesión que se generó (que es bastante "largo" y único para que no se repita).

Cita:
¿ El SID se propaga solo o no ?
Ya te comenté aquí mismo que no se propaga por "arte de mágia" como algunos piensan .. Se propaga por dos métodos y lo define el "como" o "cual" podras usar en tu programación lo que PHP.ini diga.

Todo esto está detallado en:
www.php.net/session

No sé por qué NADIE le dá por leerlo y sobre todo tomar conciencia de la poca teoría al respecto y que hay configuración de PHP que influye en como se va a comportar tus "sesiones" según sea esta.

Un saludo,
  #20 (permalink)  
Antiguo 13/07/2004, 16:25
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
Gracias, me quedo muy claro.

Salu2 !!!
__________________
AK.T.I.V.E.tm Live, Never DIE
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 00:58.