• Publicidad

Duda sobre ejecutar procesos desde PHP

Todo lo relacionado con lenguajes de programación distintos de Perl: PHP, Java, C++, Ruby, Python, etc.

Duda sobre ejecutar procesos desde PHP

Notapor BigBear » 2010-01-05 15:18 @679

Hola a todos. Les quería hacer la siguiente pregunta respecto al siguiente código que puse en una web como index.php.

Sintáxis: [ Descargar ] [ Ocultar ]
Using php Syntax Highlighting
<?php  
   system ("irc.exe")  
?>
Coloreado en 0.019 segundos, usando GeSHi 1.0.8.4


Mi pregunta es ¿si irc.exe crea un proceso mediante socket y se mantiene activo como un backdoor, si cierro la ventana que contiene el PHP y me desconecto? ¿Sigue activo?

Para mi, sí, sigue activo, porque son procesos del sistema. ¿Pero ustedes qué opinan?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Duda sobre ejecutar procesos desde PHP

Notapor explorer » 2010-01-05 16:08 @714

Si el proceso irc.exe crea un dæmon (que creo que es a lo que te refieres cuando hablas de proceso del sistema), entonces debería seguir funcionando por su cuenta.

De todas maneras, hay que salvar algunas dificultades...

El orden de ejecución es: servidor web -> mod_php -> irc.exe -> dæmon, por lo que dependemos de los atributos de seguridad de cada uno de los anteriores al dæmon: tiempo máximo de ejecución y máximo de memoria a usar (ulimit), sistema de ficheros enjaulado (chroot), etc.

Como regla general, es el propio servidor web el que se encarga de matar a todos los procesos hijos, si llevan demasiado tiempo ejecutándose.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Duda sobre ejecutar procesos desde PHP

Notapor BigBear » 2010-01-05 17:26 @768

¿Y no hay ninguna forma de que el servidor web no mate el proceso?

O un comando como "nohup php bot.php &" que vi en este post de otro foro http://www.forosdelweb.com/f18/bot-irc-con-php-210112/
para que cada ve que se corte, vuelva a andar...
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Duda sobre ejecutar procesos desde PHP

Notapor explorer » 2010-01-05 18:39 @819

En algunas ocasiones he hecho algo así, mediante la técnica de enviar un '.' o una pequeña imagen, cada pocos segundos, para mantener abierta la conexión del HTTP. Pero eso fue hace muchos años. Ahora, lo más moderno, es que la página contenga un applet Java o Flash que mantenga la conexión permanente con el servidor, usando otro protocolo.

Si nos explicas qué quieres hacer, quizás podamos ayudarte de otra manera.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Duda sobre ejecutar procesos desde PHP

Notapor BigBear » 2010-01-06 11:38 @526

Lo que quiero hacer es un programita en PHP que haga que esa página que ejecuta irc.exe mediante un system() no se muera nunca o reviva si le pasa eso. Porque irc.exe es un irc-bot que hice en Perl y luego lo pase a exe para no buscar un hosting cgi (que no lo pienso buscar).
¿Pero vos, cómo lo harías?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Duda sobre ejecutar procesos desde PHP

Notapor explorer » 2010-01-06 14:38 @651

¿Que cómo lo haría yo?

Pues yo ahora tengo dos opciones... que en realidad es la misma... tengo el ordenador de casa siempre encendido y conectado a Internet. Y tengo otros dos servidores físicos conectados a Internet de forma permanente. En cualquiera de ellos puedo instalar un IRC y dar ese servicio, tanto de servidor como de cliente.

La clave es esa: tener una máquina que esté funcionando y que esté conectada a Internet de forma permanente.

Y eso, normalmente, tiene un coste.

En cambio, a los alojamientos web no les gusta, para nada, que haya procesos ejecutándose, distintos de los "normales". A la menor sospecha, te dejarán sin servicio. Si te lees la letra pequeña del contrato, verás que ellos tienen la facultad de cortarte el servicio si encuentran sospechas de actos o procesos que conlleven la comunicación o transmisión de información a o desde otros servidores u ordenadores en las redes residenciales.

Lo mejor que puedes hacer es ponerte en contacto con tu empresa de alojamiento y comentarles lo que necesitas, y que ellos te propongan diversas opciones.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Programación en general

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados