Foros del Web » Programando para Internet » PHP »

sessiones no se ven en la url y trabajan con cookies como cambiarlo

Estas en el tema de sessiones no se ven en la url y trabajan con cookies como cambiarlo en el foro de PHP en Foros del Web. Eso, tengo un sistema de usuarios que trabaja con sessiones, pero en mi server de prueba, local y lycos me muestra en la url el ...
  #1 (permalink)  
Antiguo 14/01/2003, 12:17
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 15 años
Puntos: 1
sessiones no se ven en la url y trabajan con cookies como cambiarlo

Eso, tengo un sistema de usuarios que trabaja con sessiones, pero en mi server de prueba, local y lycos me muestra en la url el ID de la session o sea index.php?PHPSESID=173bd9sabd7220h

y eso pero en mi server de mi web (dattatec)

no me muestra nada de eso, lo que me hace suponer que mis sessiones (que por cierto funciona) trabajan con cookies, y lo que yo quiero es que sean sin cookies osea nada que se le envie al usuario ya que si no acepta las cookies no podra ingresar a mi sistema.


que se puede hacer para que las sessiones no trabajen con cookies?
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
  #2 (permalink)  
Antiguo 15/01/2003, 09:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para saber como trabaja PHP de cualquier servidor con respecto a como propaga el SID o si usa para ello Cookies o URL (mas bien <tag> HTML como <a>, <form> .. etc .. ) lo puedes ver haciendo un:

<? phpinfo(); ?>

(por si no lo sabias .. guarda eso como loquesea.php y lo ejecutas en el servidor q quieras ver la información de configuración de PHP).

Ahí .. en ese monton de parametros de configuración q da esa funcion .. podras ver el apartado "session".

Entre otras directivas de configuración veras:

session.use_cookies
(con sus estados ON ... u OFF)

Si no tienes acceso directo a php.ini del servidor en cuestión (como es el caso q usas algun servicio de Hosting) .. Puedes "forzar" a PHP que use session.use_cookies a ON (1) o a OFF (0) para el tiempo en ejecución de un script en concreto. Para ello usa ini_set() antes de tu usos habituales de funciones de sessiones (antes de tus session_start() o session_xxx() q uses)

Código PHP:
ini_set("session.use_cookies","0"
Tambien puedes usar un .httpacces en el directorio q trabajes con esos scripts.php q quieras q usen esa directiva a cierto valor. (session.use_cookies se puede "setear" por "all")

Mas info de que directivas de PHP puedes ajustar en tiempo de ejecución, .httpaccess .. o solo exclusivamente via php.ini:

http://www.php.net/manual/en/function.ini-set.php

Un saludo,
  #3 (permalink)  
Antiguo 15/01/2003, 09:52
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 15 años
Puntos: 1
ok gracias cluster. voy a probarlo



Lo probe ya pero.............

(con el ini_set)

se ve la session en la url como yo queria pero..... ahora no me puedo logear, osea no reconoce
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon

Última edición por MSDark; 15/01/2003 a las 10:25
  #4 (permalink)  
Antiguo 15/01/2003, 10:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y tu en tu programación .. el SID lo propagas en modo automatico? . o programas tu manualmente?

Y .. a todo esto .. ese ini_set() lo estas usando en TODOS los scripts q uses sessiones? .. (debes usarlo en todos).

Un saludo,
  #5 (permalink)  
Antiguo 15/01/2003, 10:54
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 15 años
Puntos: 1
mira o tengo la web echa asi

up.php centro.php y final.php y los session_start() estan en el up.php que esta en todas las paginas y funciona asi.

puse el ini_set() en todos los up antes del session_start();

y funciono eso de ver en la url el PHPSESID pero no se guardan las variables por lo tanto no se logea.

El SID, en realidad creo que es automatico, si es automatico por que yo solo hago el session_start() y los session_register nada más (bueno reconocer la session)

tendria que escribir en mis enlaces esto entonces
Código PHP:
 <a href="../index.php?cont=inicio&SID">Inicio</a>
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
  #6 (permalink)  
Antiguo 15/01/2003, 11:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El SID ya lo propagas en automatico (por lo menos así lo hace tu servidor .. pues tu dices q ves el SID en el URL ...).

Mas bien me referia a si tu a su vez usabas propagacion manual o automatica del SID .. Veo q lo asumes como automatico ..

Resumen:
Te debería ir .. si ves el SID en el URL o en tag de <form> por ejemplo (ver codigo HTML generado lo verias) como se propaga ..

Si hay algo q me dejo .. no se .. revisa el manual de PHP que es lo q suelo hacer yo (mirando los comentarios de los usuarios) .. igual por ahi sale algo.

Un saludo,
  #7 (permalink)  
Antiguo 15/01/2003, 22:51
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 15 años
Puntos: 1
Resulta que si no estoy autentificado , en "algunos" enlaces se ve al PHPSESID=aj8yd89h8dnp90i32n s pero cuando me logeo ya no se ve màs.
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
  #8 (permalink)  
Antiguo 16/01/2003, 09:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues si te sucede eso .. es que no está actuando el cambio de uso de sessiones a modo "NO COOKIES" ..

En cuanto te "longeas" se guarda la sesssion (el SID) en la cookie y es leida desde ahí si está seleccionada esa opcion en php.ini ...

En teoria .. esa directiva se puede seleccionar el estado q desees en tiempo de ejecución ..

Puedes probar algo mas "drastico" .. usa un .httpaccess en tu servidor (en todos los directorios q tengas páginas q usen sesiones). Debe contener:

php_value session.use_cookies 0

ó

php_flag session.use_cookies 0

(y a todo esto .. esperar que tu directorios de tu servidor virtual asignado tengan el "allow rewrite" para q puedas crear .httpacess y demas ..)


Un saludo,
  #9 (permalink)  
Antiguo 16/01/2003, 09:23
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 15 años
Puntos: 1
ok gracias lo probare pero creo que tambien el poner el

session.use_cookies:0 debo poner el session.use_trans_sid:1

o no

mi server si acepta los httpacces osea al menos tengo uno para cnfigurar mis paginas de error
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
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 11:44.