Foros del Web » Programando para Internet » PHP »

Comprendiendo el SID?

Estas en el tema de Comprendiendo el SID? en el foro de PHP en Foros del Web. Hola amigos: tengo una duda referente al sid, me he fijado en varias web que utilizan el ¿sid? al momento de validarse en el sitio. ...
  #1 (permalink)  
Antiguo 22/09/2004, 07:09
 
Fecha de Ingreso: abril-2003
Ubicación: 127.0.0.1
Mensajes: 359
Antigüedad: 21 años
Puntos: 0
Pregunta Comprendiendo el SID?

Hola amigos:

tengo una duda referente al sid, me he fijado en varias web que utilizan el ¿sid? al momento de validarse en el sitio. pero lo que no entiendo es como se hace para ke los link tengan como enlace el sid, es decir el link se oculta a y muestra el sid generado al momento de iniciar la sesion cuando uno ve las propiedades del link.

me podrian explicar esto porfavor y como se hace......

desde ya muchas gracias....
__________________
Practicando se Aprede
:-) :-)
  #2 (permalink)  
Antiguo 22/09/2004, 07:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Por qué .. propagarán el SID en Cookies (session.use_cookies = ON) y usan también: session.use_trans_sid a ON (lo cual hace que se reescriban los tags de Link, y algunos más para insertar el SID en los links).

Las cookies (y sesiones) sólo quendan disponibles en la próxima petición al servidor (recarga de página o similar).

Si PHP al iniciar el uso de sesiones vía session_start() recibe un SID válido propagado (en ese caso por cookies) lo sigue usando y no reescribe más los URL's (de links y demás) para insertar el SID

Un saludo,
  #3 (permalink)  
Antiguo 22/09/2004, 14:21
 
Fecha de Ingreso: abril-2003
Ubicación: 127.0.0.1
Mensajes: 359
Antigüedad: 21 años
Puntos: 0
Pregunta

gracias cluster he quedado un poco claro, solo me surge una duda a una frase de tu respuesta.

" Si PHP al iniciar el uso de sesiones vía session_start() recibe un SID válido propagado "

como se programa. o como se crea... por medio de la cookie?

desde ya gracias....
__________________
Practicando se Aprede
:-) :-)
  #4 (permalink)  
Antiguo 22/09/2004, 16:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El SID se propaga por el URL (manualmente o automáticamente por parte de PHP vía configuración) o por cookies.

El SID lo tienes en la constante: SID

Código PHP:
<?
session_start
();
echo 
SID// Sin comillas .. no es una variable sino constante
?>
También lo puedes obtener vía las funciones:
Código PHP:
$miSID=session_name()."=".session_id(); 
Y "propagar" supone que ese SID pase entre las páginas/scripts que intervengan en tu "sesión".

Para eso, PHP vía configuración:
session.use_trans_sid a ON (1) .. añade ese SID automáticamente en todo link/formulario (como campo hidden) y otros tags HTML (que define en: url_rewrite_tags ) por tí.

La otra opción es que PHP lo haga en una cookie dicha propagación del SID. La cookie la crea PHP automáticamente y se encarga de leerla si usas:
session.use_cookies
y/o
session.use_only_cookies

Y también puedes hacerlo tu a mano, cosa que por otro lado te hará falta por ejemplo si usas propagación del SID en modo automático vía sesson.use_trans_sid .. esa "funcionalidad" de PHP no reescribe URL's en redireccionamientos como javascript o un META de refresh .. En esos casos es necesario que lo hagas a mano completamente usando links tipo:

Código PHP:
window.location=nose.php?<? echo SID ?>
Por todo esto es tan "importante" usar session_Start() siempre al principio de tus scripts (antes de pretender acceder a una variable de sesión) .. es esa función la que inicia todos los procesos de "busqueda" del SID en el URL, o en la cookie para continuar su uso (la sesión activa) o bien .. si no está en ninguno sitio, crear una nueva sesión (SID asociado a su archivo en el servidor).

(PD: Todo referente a php.ini )

Un saludo,
  #5 (permalink)  
Antiguo 25/09/2004, 10:11
 
Fecha de Ingreso: abril-2003
Ubicación: 127.0.0.1
Mensajes: 359
Antigüedad: 21 años
Puntos: 0
amigo cluster, gracias por tu respuesta me ha dejado super claro, solo que me surge una duda sobre la cookie ¿es necesario crear una cookie.? o solamente trabajar con session_start();
__________________
Practicando se Aprede
:-) :-)
  #6 (permalink)  
Antiguo 25/09/2004, 11:11
Avatar de Takitei  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 1.231
Antigüedad: 19 años, 7 meses
Puntos: 5
necu... una cookie y una sesión son dos cositas distintas. Fijate... cuando creas una sesión tienes 2 opciones:

1. Propagar el SID por URL.
2. Propagar el SID usando una cookie.

El método 2 es más seguro, de esta forma PHP crea una cookie y almacena el SID en él.

Las sesiones son pequeños archivos que se almacenan en el servidor donde puedes almacenar distintas variables de forma segura... variables que estarán disponibles a lo largo de tus scripts siempre y cuando recibas el SID correctamente. Cada sesion puede almacenar muuuuuchas variables.

Con repecto a las cookies, son pequeños archivos que se alojan en el PC del usuario, y cada una de ellas contiene el valor de 1 variable... sería algo asi como "almacenar variables en el PC del usuario". Normalmente se usan para autentificaciones de tiempo prolongado, sistemas de publicidad, conocer preferencias del usuario, etc...

Supongamos que estás haciendo un script de autentificación de usuarios, donde ellos ponen su username y password para entrar en la página. Tienes 2 opciones, usar cookies o usar sesiones.

Si vas a permitir que tus usuarios permanezcan logueados por mucho tiempo, por ejemplo 2 semanas o 1 mes... asi como en estos foros, debes usar cookies. De lo contrario, si son logins cortos... entras y sales... podrías usar cookies.

También depende de la cantidad de usuarios que tengas. Una web con 1 millón de usuarios y usando sesiones sobrecargaría al servidor. En ese caso si usaras cookies, liberas al servidor de todas las sesiones y almacenas los datos del usuario en su propia PC.

Cada opción tienes su pro y contras. Espero haberte aclarado la duda.

Un saludo!
__________________
Takitei
Ingeniarte.com
DannyHerran.com
"Dadme un punto de apoyo y moveré la tierra" - Arquímedes.
  #7 (permalink)  
Antiguo 25/09/2004, 12:51
 
Fecha de Ingreso: abril-2003
Ubicación: 127.0.0.1
Mensajes: 359
Antigüedad: 21 años
Puntos: 0
gracias amigos me han dejado muy claro sobre mi duda....

gracias infinitamente

__________________
Practicando se Aprede
:-) :-)
  #8 (permalink)  
Antiguo 27/09/2004, 07:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por necu
amigo cluster, gracias por tu respuesta me ha dejado super claro, solo que me surge una duda sobre la cookie ¿es necesario crear una cookie.? o solamente trabajar con session_start();
Las cookies para la propagación del SID en "cookies" (valga la rebundancia) .. las crea automáticamente PHP (si usas session.use_cookies) y sólo contiene el SID (Identificador único de sesión) que relaciona ese "archivo" en el servidor con el cliente que las crea.

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 18:56.