elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Como puedo colocar un "temporizador" para que ejecute un script?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como puedo colocar un "temporizador" para que ejecute un script?  (Leído 3,955 veces)
venadHD

Desconectado Desconectado

Mensajes: 94

Donde hay hackers, tambien hay crackers.


Ver Perfil WWW
Como puedo colocar un "temporizador" para que ejecute un script?
« en: 21 Julio 2015, 15:53 pm »

El tema es, queria que cuando el usuario acccede a una pagina con una cierta query, por ejemplo ?peticion=IJS8ffd87dgsG/8d87fg87fd , ejecute un temporizador de 5 minutos en el que ejecute una funcion, aun sin que el usuario este visitando la pagina, es decir, que solo dependa del script en PHP, como podria hacerlo? (Y no puedo usar CRON, porque seria 5 minutos desde que el usuario visita la pagina)


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Como puedo colocar un "temporizador" para que ejecute un script?
« Respuesta #1 en: 21 Julio 2015, 16:01 pm »

para que necesitas tal cosa? estoy seguro que puede solucionarse de otra forma


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Como puedo colocar un "temporizador" para que ejecute un script?
« Respuesta #2 en: 21 Julio 2015, 16:01 pm »

¿En que sistema operativo? En Linux puedes lanzar una subshell con sleep. Algo así como:

Código
  1. sleep 300;
  2. /usr/bin/php scriptAEjecutarEn5Minutos.php

Código
  1. shell_exec('nohup scriptAEjecutar.sh & &> /dev/null');
En línea

venadHD

Desconectado Desconectado

Mensajes: 94

Donde hay hackers, tambien hay crackers.


Ver Perfil WWW
Re: Como puedo colocar un "temporizador" para que ejecute un script?
« Respuesta #3 en: 21 Julio 2015, 16:12 pm »

para que necesitas tal cosa? estoy seguro que puede solucionarse de otra forma

Ando creando un sistema de recuperacion de contraseñas, por mi panel de login. La cosa es que el link de recuperacion solo quiero que funcione por un cierto tiempo, de ahi la necesidad de hacer eso

y el host no soporta la funcion
Código
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Como puedo colocar un "temporizador" para que ejecute un script?
« Respuesta #4 en: 21 Julio 2015, 16:15 pm »

eso lo colocas en la DB, ya que tienes que colocar una clave al azar (para que no exploten el sistema) colocas la hora de la petición, si se accede al sistema, primero se hará un delete de todo lo que tenga más de 5 minutos desde la hora de solicitud y luego accesas a ver si la peticion de ese usuario existe
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
venadHD

Desconectado Desconectado

Mensajes: 94

Donde hay hackers, tambien hay crackers.


Ver Perfil WWW
Re: Como puedo colocar un "temporizador" para que ejecute un script?
« Respuesta #5 en: 21 Julio 2015, 16:26 pm »

eso lo colocas en la DB, ya que tienes que colocar una clave al azar (para que no exploten el sistema) colocas la hora de la petición, si se accede al sistema, primero se hará un delete de todo lo que tenga más de 5 minutos desde la hora de solicitud y luego accesas a ver si la peticion de ese usuario existe

Hmm, parece sencillo, algo como usar tendria que usar algo como

Código
  1. time() + (60*5);
Para introducir los 5 primeros minutos, y luego el delete que dices tu, para que, basandose en la hora de la peticion, decida si existe o no
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Como puedo colocar un "temporizador" para que ejecute un script?
« Respuesta #6 en: 21 Julio 2015, 16:30 pm »

exacto... en el campo "tiempo" de la DB guardas time()

luego usas algo como

Código
  1. $hace_cinco_minutos = time()-300
  2. $sql= "DELETE FROM $tabla WHERE tiempo < $hace_cinco_minutos"

o si quieres guardas time+300 y delete time... en el orden que quieras
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines