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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Utilizacion de un bucle infinito (script en escucha)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Utilizacion de un bucle infinito (script en escucha)  (Leído 10,051 veces)
mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Utilizacion de un bucle infinito (script en escucha)
« en: 28 Febrero 2011, 20:59 pm »

Hola como estan?

Les cuento que es lo que quiero hacer. Mi idea es crear un script que este en escucha, esto significa que cuando vea que existe cierto archivo en el directorio principal del servidor, se ejecuten ciertas instrucciones.
Lo que hice fue crear un bucle do-while que compruebe la existencia del archivo. Si existe, guarda el contenido del archivo en la base de datos y luego lo borra. Lo borro para que quede en un bucle infinito (eso seria estar en escucha), asi cuando aparece el archivo nuevamente, repite la accion.

Les dejo el codigo:
Código:
do
{
if( file_exists("archivo-entrante.txt") )
{
$fp = fopen("archivo-entrada.txt","r");
if($fp)
{
while( !feof($fp) )
$cod = fread('archivo-entrada.txt');
//Se guarda contenido en BD.
}
else
{
echo "No se pudo abrir el archivo.";
}
fclose($fp);

if( unlink("archivo/archivo-entrada.txt") )
echo "Se guardo en BD";
else
echo "El archivo no se pudo borrar o no existe.";
}
}while( file_exists("archivo-entrante.txt") == false );


El problema es que mi script no se queda en "escucha", el error que me tira al ejecutarlo es el siguiente:

Citar
Fatal error: Maximum execution time of 10 seconds exceeded in /home/a3410577/public_html/leer-archivos.php on line 26


Como lo podria hacer?

Muchas gracias por su ayuda. Nos vemos.


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.706


WOS & Khan & Calero LDN


Ver Perfil WWW
Re: Utilizacion de un bucle infinito (script en escucha)
« Respuesta #1 en: 28 Febrero 2011, 21:02 pm »

No creo que sea viable, para que quieres hacer eso? Quizás exista otra opción que no sea por programación.


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Re: Utilizacion de un bucle infinito (script en escucha)
« Respuesta #2 en: 28 Febrero 2011, 21:10 pm »

Para crear el archivo y apenas lo guarde con el nombre "archivo-entrada.txt", se guarde automaticamente en la base de datos.
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Utilizacion de un bucle infinito (script en escucha)
« Respuesta #3 en: 28 Febrero 2011, 21:11 pm »

Los script en PHP, tiene un tiempo de ejecución definido en el PHP.ini. La directiva encargada del tiempo maximo de ejecucion es max_execution_time.

Para evitar esto, puedes usar la funcion set_time_limit, agregándole como primer parámetro 0, asi el tiempo de ejecución es infinito.

Agrégalo al inicio del source.
Código
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Re: Utilizacion de un bucle infinito (script en escucha)
« Respuesta #4 en: 28 Febrero 2011, 21:13 pm »

Gracias yoya lo voy a probar.
En línea

mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Re: Utilizacion de un bucle infinito (script en escucha)
« Respuesta #5 en: 28 Febrero 2011, 21:21 pm »

Otra pregunta,

Esto de dejar que entre en un bucle infinito, me podria llegar a traer algun tipo de problema en el servidor ¿que se caiga el servidor o algo por el estilo?

Yo creo que no, porque el script no llena memoria o algo por el estilo. Y si se queda en el bucle infinito no esta realizando nada, solamente preguntando por la existencia de un archivo.

Pero ustedes que seguramente entienden mas del tema, me podrian decir si puede fallar este bucle infinito?

Gracias.
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Utilizacion de un bucle infinito (script en escucha)
« Respuesta #6 en: 28 Febrero 2011, 21:43 pm »

El script puede causarte un DoS. También esta la opción que alguien encuentre el archivo y lo ejecute varias veces.

Aunque exista la opción de que nadie encuentre el archivo, no esta bien tener un archivo que te cause DoS.

Te recomiendo que para ejecutar el código se le tenga que pasar un parámetro vía GET o POST o COOKIE, con algun dato.
Así evitarías que otra persona ejecute el source por error o buscando vulnerabilidades.

Yo en tu caso, editaría el source y eliminaría el do-while. Y lo que haría, seria ejecutar el script cada x tiempo, así evito un futuro auto DoS. Puedes usar cron o otro programa similar.

Saludos.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Re: Utilizacion de un bucle infinito (script en escucha)
« Respuesta #7 en: 28 Febrero 2011, 21:59 pm »

Disculpa mi ignoracia yoya pero que es un DoS?

Gracias.
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Utilizacion de un bucle infinito (script en escucha)
« Respuesta #8 en: 28 Febrero 2011, 22:11 pm »

http://tinyurl.com/34bnw5o
Cita de: Wikipedia
En seguridad informática, un ataque de denegación de servicio, también llamado ataque DoS (de las siglas en inglés Denial of Service), es un ataque a un sistema de computadoras o red que causa que un servicio o recurso sea inaccesible a los usuarios legítimos. Normalmente provoca la pérdida de la conectividad de la red por el consumo del ancho de banda de la red de la víctima o sobrecarga de los recursos computacionales del sistema de la víctima.
« Última modificación: 28 Febrero 2011, 22:12 pm por ~ Yoya ~ » En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Re: Utilizacion de un bucle infinito (script en escucha)
« Respuesta #9 en: 28 Febrero 2011, 22:41 pm »

Yoya gracias por la info pero mi script siempre esta en ejecucion indefinidamente. Lo q hace es entrar en la base de datos si existe el archivo de entrada. Pero el script siempre esta en ejecucion y no para
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
probando un bucle infinito... « 1 2 3 »
Bugs y Exploits
mousehack 22 11,214 Último mensaje 28 Agosto 2015, 21:46 pm
por MCKSys Argentina
Bucle infinito para petar linux en C ??
Hacking Básico
LegolasArc 2 4,481 Último mensaje 5 Diciembre 2010, 12:12 pm
por toxeek
El que se ha metido en un bucle infinito soy yo...
Programación C/C++
Superplay 0 3,118 Último mensaje 1 Diciembre 2010, 21:14 pm
por Superplay
Implementacion de bucle infinito
Programación C/C++
mark182 3 3,592 Último mensaje 12 Marzo 2011, 11:33 am
por Akai
Bucle infinito interumpible
Programación C/C++
soyloqbuskas 3 1,749 Último mensaje 23 Agosto 2012, 01:06 am
por 0xDani
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines