Foros del Web » Programando para Internet » PHP »

Obtener la fecha actual de modo seguro (no desde el ordenador)

Estas en el tema de Obtener la fecha actual de modo seguro (no desde el ordenador) en el foro de PHP en Foros del Web. Buenas. Vereis tengo un problema muy simple. Para hacer determinadas cosas he de comprobar que una fecha almacenada en la BD sea anterior a hoy. ...
  #1 (permalink)  
Antiguo 25/03/2014, 07:50
 
Fecha de Ingreso: junio-2012
Mensajes: 147
Antigüedad: 11 años, 9 meses
Puntos: 1
Obtener la fecha actual de modo seguro (no desde el ordenador)

Buenas. Vereis tengo un problema muy simple. Para hacer determinadas cosas he de comprobar que una fecha almacenada en la BD sea anterior a hoy. La comparación de fechas no es problema, pero el script, si cambio manualmente la fecha en el reloj del ordenador, toma esa fecha como válida.

Esto me genera un problema porque por ejemplo, un usuario crea una tarea y pone como fecha límite de entrega el 24/03/2014 (ayer). Hoy entra en la aplicación el usuario a quien va dirigida la tarea y ve que se le pasó el límite. Simplemente tendría que cambiar la fecha de su ordenador para engañar al script. Lo he probado y es así.

Código PHP:
Ver original
  1. $fecha_limite_tarea = "24/03/2014";
  2. $array_fecha_limite_tarea = explode("/", $fecha_limite_tarea);
  3.    
  4. // timestamp de hoy
  5. $time_hoy = mktime(0,0,0,date("n"),date("d"),date("Y"));
  6.    
  7. // timestamp de la fecha límite
  8. $time_fecha_limite_tarea = mktime(0,0,0,$array_fecha_limite_tarea[1],$array_fecha_limite_tarea[0],$array_fecha_limite_tarea[2]);
  9.    
  10. if($time_fecha_limite_tarea >= $time_hoy)
  11.     // El usuario puede entregar la tarea.
  12. else
  13.     // El usuario ya no puede entregar la tarea.

¿Hay alguna forma de evitar esto? ¿Tomando la fecha actual de otra forma?
  #2 (permalink)  
Antiguo 25/03/2014, 08:19
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Obtener la fecha actual de modo seguro (no desde el ordenador)

Cuando consultas la hora actual en php retorna la hora del servidor, no la del cliente, en un servidor minimamente serio, los usuarios no pueden cambiar la fecha....

http://es1.php.net/manual/es/function.date.php
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 25/03/2014, 08:36
 
Fecha de Ingreso: junio-2012
Mensajes: 147
Antigüedad: 11 años, 9 meses
Puntos: 1
Respuesta: Obtener la fecha actual de modo seguro (no desde el ordenador)

Ah, claro!! Pues no se me habia ocurrido, es que estoy en el servidor local.

Gracias
  #4 (permalink)  
Antiguo 25/03/2014, 14:25
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Obtener la fecha actual de modo seguro (no desde el ordenador)

__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: actual, fecha, modo, seguro
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 16:41.