Foros del Web » Programando para Internet » PHP »

SESSIONS que se borre a las 24h

Estas en el tema de SESSIONS que se borre a las 24h en el foro de PHP en Foros del Web. Hola, vengo a esta gran web en materia de lenguajes web para preguntar una cosa sobre PHP. Quiero saber como puedo crear una variable $_SESSIONS ...
  #1 (permalink)  
Antiguo 13/09/2008, 09:18
Avatar de Darth_Carl  
Fecha de Ingreso: mayo-2008
Ubicación: En Foros DWP
Mensajes: 160
Antigüedad: 15 años, 11 meses
Puntos: 8
SESSIONS que se borre a las 24h

Hola,
vengo a esta gran web en materia de lenguajes web para preguntar una cosa sobre PHP. Quiero saber como puedo crear una variable $_SESSIONS o parecida ($_COOKIES, $_SERVER,...) que se borre solo por tiempo, pero que el usuario no pueda borrar. ¿Hay alguna forma?

Gracias, mil gracias por vuestra atención
__________________
Si te ha servido, un karma POSITIVO es agradecido
NOTA: También se aceptan donaciones a PayPal xD
  #2 (permalink)  
Antiguo 13/09/2008, 09:29
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: SESSIONS que se borre a las 24h

Revisa la directiva session.gc_maxlifetime en tu php.ini

http://www.php.net/manual/es/session...gc-maxlifetime

Pero de todos modos, tienes que tener algun metodo para pasar el SID, ya que pasarlo por URL es inseguro.
Entonces tendrias que usar cookies y tienes que cambiar esta directiva:
session.use_cookies = 1
session.name = PHPSESSID
session.cookie_lifetime = 0
session.cookie_path = /

Si session.cookie_lifetime = 0 entonces se borrara cuando se cierre el navegador.
  #3 (permalink)  
Antiguo 13/09/2008, 09:35
Avatar de Darth_Carl  
Fecha de Ingreso: mayo-2008
Ubicación: En Foros DWP
Mensajes: 160
Antigüedad: 15 años, 11 meses
Puntos: 8
Respuesta: SESSIONS que se borre a las 24h

¿Que es el SID? Supongo que será el login
Bien, lo que yo quiero no es el tiempo de vida, sino que el usuario no la pueda borrar (supongo que se hará cambiando session.cookie_lifetime = 1)

Veamos, ¿el código es así?
Código PHP:
<?php
session
.gc_maxlifetime 86400
session
.cookie_lifetime 0
session_register
("tiempodeadmision");
?>
¿Podrías corregir mi código?

Apuesto lo que sea a que si por cada error que tiene mi código me das un dolar, mañana soy más rico que Bill Gates
__________________
Si te ha servido, un karma POSITIVO es agradecido
NOTA: También se aceptan donaciones a PayPal xD
  #4 (permalink)  
Antiguo 13/09/2008, 09:52
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: SESSIONS que se borre a las 24h

SID es el Session ID.
Ya que las sessiones son de parte de el servidor necesitas el SID para identificar tu session entre las demas.
Entonces si la directiva session.use_cookies es igual a 1, se usan Cookies para mantener el SID. De lo contrario tendrias que pasar el SID por URL (Lo cual es inseguro ya que el usuario puede verlo y usarlo malintencionadamente).

En cuanto a como usar estas directivas, se cambian en el archivo de configuracion de PHP (php.ini).
Si estas usando un hosting compartido y no tienes acceso a este hay otras 2 maneras como puedes cambiarlas:

Usando ini_set().
Código PHP:
ini_set("memory_limit""32M"); //ejemplo 
Este metodo funciona, pero en tu caso tendrias que agregarle las lineas para cambiar los valores a TODOS tus scripts.

Es aqui cuando viene el otro metodo, usando .htaccess

Crearias un archivo como el siguiente (Solo un ejemplo):

Cita:
<IfModule mod_php5.c>
php_value include_path ".:/usr/local/lib/php"
php_admin_flag safe_mode on
</IfModule>
<IfModule mod_php4.c>
php_value include_path ".:/usr/local/lib/php"
php_admin_flag safe_mode on
</IfModule>
<IfModule mod_php3.c>
php3_include_path ".:/usr/local/lib/php"
php3_safe_mode on
</IfModule>
http://www.php.net/manual/es/configuration.changes.php
  #5 (permalink)  
Antiguo 13/09/2008, 10:01
Avatar de Darth_Carl  
Fecha de Ingreso: mayo-2008
Ubicación: En Foros DWP
Mensajes: 160
Antigüedad: 15 años, 11 meses
Puntos: 8
Respuesta: SESSIONS que se borre a las 24h

¿Entonces el código sería así?
Código PHP:
<?php
ini_set
("session.use_cookies""1");
ini_set("session.name""PHPSESSID");
ini_set("session.cookie_lifetime""1");
ini_set("session.cookie_path""/");
ini_set("session.gc_maxlifetime""86400");
//Modifico los valores del php.ini para mi script
session_register("tiempodeadmision"); 
//Creo mi SESSION de la misma forma que siempre
?>
Gracias
__________________
Si te ha servido, un karma POSITIVO es agradecido
NOTA: También se aceptan donaciones a PayPal xD
  #6 (permalink)  
Antiguo 13/09/2008, 13:04
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: SESSIONS que se borre a las 24h

Pero entonces tendrias que usarlo en todos tus scripts donde requieras el uso de Session.
Mejor hazlo via .htaccess
  #7 (permalink)  
Antiguo 13/09/2008, 13:11
Avatar de Darth_Carl  
Fecha de Ingreso: mayo-2008
Ubicación: En Foros DWP
Mensajes: 160
Antigüedad: 15 años, 11 meses
Puntos: 8
Respuesta: SESSIONS que se borre a las 24h

Bah, yo soy más original xD

Código ini.php
Código PHP:
<?php
ini_set
("session.use_cookies""1");
ini_set("session.name""PHPSESSID");
ini_set("session.cookie_lifetime""1");
ini_set("session.cookie_path""/");
ini_set("session.gc_maxlifetime""86400");
?>
Código PHP:
<?php
//...
include('ini.php');
//...
?>
xDDD
__________________
Si te ha servido, un karma POSITIVO es agradecido
NOTA: También se aceptan donaciones a PayPal xD
  #8 (permalink)  
Antiguo 13/09/2008, 13:22
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: SESSIONS que se borre a las 24h

ini_set("session.cookie_lifetime", "1");

El valor de session.cookie_lifetime viene dado en segundos (Si es 0, hasta que se cierre el navegador).
Si lo pones en 1 tendras serios problemas. Ponlo en 86400
  #9 (permalink)  
Antiguo 13/09/2008, 15:14
Avatar de Darth_Carl  
Fecha de Ingreso: mayo-2008
Ubicación: En Foros DWP
Mensajes: 160
Antigüedad: 15 años, 11 meses
Puntos: 8
Respuesta: SESSIONS que se borre a las 24h

Recibido y corregido
__________________
Si te ha servido, un karma POSITIVO es agradecido
NOTA: También se aceptan donaciones a PayPal xD
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 17:19.