Foros del Web » Programando para Internet » PHP »

controlar tiempo de sessiones

Estas en el tema de controlar tiempo de sessiones en el foro de PHP en Foros del Web. hola amigos que tal ...feliz año para todos ustedes ... bueno.. espero me puedan ayudar con lo siguiente... estoy progtamanado una web de capacitacion en ...
  #1 (permalink)  
Antiguo 17/12/2009, 12:56
 
Fecha de Ingreso: marzo-2009
Mensajes: 63
Antigüedad: 15 años, 1 mes
Puntos: 0
controlar tiempo de sessiones

hola amigos que tal ...feliz año para todos ustedes ...
bueno.. espero me puedan ayudar con lo siguiente...
estoy progtamanado una web de capacitacion en la cual las preguntas me las trae de forma aleatoria de la BD.. el punto es que requiero dar un tiempo para responder la prueba... ¿para allo tendría que usar sessiones...? y como usarlas para mi problema ???

por su ayuda gracias...
  #2 (permalink)  
Antiguo 17/12/2009, 13:06
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 2 meses
Puntos: 3
Respuesta: controlar tiempo de sessiones

Hola.

Para controlar el tiempo de sesiones lo puedes hacer en el propio fichero "php.ini" con la variable: session_timeout = 1800 (por defecto viene a 30 minutos, establecido en segundos).

para el tema de tener un tiempo limitado para responder preguntas, creo que la mejor opción sería hacerlo por javascript mediante algún contador de retroceso, por ejemplo de 10 segundos y que al cabo de los cuales se te desactive el botón para responder o algo así.

Puedes preguntar en el foro de javascript donde te podrán dar una mejor detallada explicación.

Saludos.
  #3 (permalink)  
Antiguo 17/12/2009, 13:07
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: controlar tiempo de sessiones

:O un metodo 100% eficaz no conosco.. ya que con el minimo de conocimiento puedes burlar esas cosas por estar al lado del cliente.. por ejemplo si le pusieras una funcion en javascript que te bloqueara despues de 10 minutos.. basta con deshabilitar javascript... si le pones algo en las cookies o session deshabilitas las cookies y ya esta..
asi que... chan.. nose.. lo que podrias hacer
es dar una hora limite.. enviar un dato con la hora que se empezo.. y si al terminar y enviar los datos a pasado mas del tiempo que devuelva q se demoro mucho y reprobo y todo eso..

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #4 (permalink)  
Antiguo 17/12/2009, 13:13
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 2 meses
Puntos: 3
Respuesta: controlar tiempo de sessiones

Hidek1 tiene razón, quien hace la ley hace la trampa...

Y a dia de hoy, cualquier cosa por muy segura que sea, se puede hackear.

Lo mejor es controlar el tiempo desde el lado del servidor y lo que ha propuesto Hidek1 sería buena idea.

A la hora de pedir la página con la pregunta, se puede tomar la fecha y hora del servidor, y cuando vayas a procesar la pregunta mediante el boton "Contestar" volver a pedir la fecha y hora.

Simplemente con un if donde se compruebe la diferencia entre las fechas y horas si es mayor del tiempo indicado pues sencillamente mostrar un error del tipo "Ha superado el tiempo límite de respuesta". Si es inferior al tiempo indicado, mostrar la siguiente pregunta.

Eso sería una solución factible.

Saludos.
  #5 (permalink)  
Antiguo 17/12/2009, 14:30
 
Fecha de Ingreso: marzo-2009
Mensajes: 63
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: controlar tiempo de sessiones

me agrada la idea...
seria posible... en base a la hora tomada del servidor al momento de pedir la pregunta (s) indicar con un grafico o algo asi, los minutos trancurridos para contestar ..

si cambia digamos la variable $min agregar un grafico, de esta forma podira por medio de $min controlar el tiempo ......
  #6 (permalink)  
Antiguo 19/12/2009, 04:28
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 2 meses
Puntos: 3
Respuesta: controlar tiempo de sessiones

Obteniendo la fecha y hora del servidor en el momento de acceder a la encuesta, la guardas en la variable $hora_inicial, respondes a las preguntas y en el momento de hacer clic en el botón "RESPONDER" obtienes nuevamente la $hora_final.

Solo debes restar $hora_final y $hora_inicial. El resultado si es mayor al que tu deseas, muestras error. En caso contrario, rediriges a la siguiente página2 con otra pregunta.

Ten en cuenta una cosa: la página2 solo podrá ser vista si viene desde la página1 dentro del tiempo establecido.

Si un usuario "espabilado" decide poner en la URL directamente la página2 ésta se puede mostrar.... Para evitar esto, debes utilizar obligatoriamente sesiones para que página2 solo pueda ser mostrada si en página1 se ha generado la sesión correctamente.

Saludos
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:53.