Ejecutar un programa mediante php, como???

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: akodo, maiku

Responder
Avatar de Usuario
grafisoft
Forista Nuevo
Forista Nuevo
Mensajes: 3
Registrado: Vie Jul 17, 2009 7:00 am

Ejecutar un programa mediante php, como???

Mensaje por grafisoft » Vie Jul 17, 2009 7:03 pm

Wenas, soy iniciado en el mundo de linux y php y estoy buscando informacion para realizar desde una pagina en php las operaciones:

- modificar ciertos valores de un fichero mediante cuadros desplegables con las opciones y algunos cuadros de insercion de texto.

- Poder parar un proceso y/o ejecutar este mismo.

Creo que no es muy dificil, para ejecutar un proceso he mirado un poco por aqui y encontrado lo siguiente, nose si me servira:

<?
$com = "sh /home/usuario/replica";
exec($com, $out, $res);
print_r($out);
?>

Esto lo quiero ejecutar en un sistema linux debian 5.

Saludos y gracias por todo
Avatar de Usuario
maiku
Moderador
Moderador
Mensajes: 1520
Registrado: Jue Abr 19, 2007 7:00 am
Ubicación: Cojutepeque, El Salvador C. A.
Contactar:

Mensaje por maiku » Lun Jul 20, 2009 2:53 am

Hola, he dedicado 20 minutos a jugar con exec, este es un ejemplo de un cuadro de texto capaz de editar y leer un archivo.

Código: Seleccionar todo

<?
if($_POST["texto"]){
   $com = "echo ".$_POST['texto']." > texto.txt";
   exec ($com);
}

$com = "cat texto.txt";
exec($com, $out, $result);


?> 

<html>
        <head>
        <title>Leyendo Fichero<title>
        </head>
        <body>
           <form name=texto action="<?= $_SERVER['PHP_SELF']  ?>" method=POST>
             Texto<br>
             <textarea name=texto><?= $out[0]; ?></textarea><br>
             <input type=submit value="MODIFICA">
           </form>
        </body>
</html>
Te comento los inconvenientes:

º Debe existir junto con el archivo php un archivo llamado texto.txt, además debe tener permisos de escritura válidos.

ºCon saltos de línea se elimina todo el texto :(

ºUtilicé out[0] cuando debí esperar más datos por el array out

ºEs una vulnerabilidad muy grande, alguien podría aprovecharse. por ejemplo, en el cuadro de texto alguien podría escribir && ls y empezaría a listar documentos, alguien experimentado podría empezar a escalar con tan simple desperfecto. Pero bueno, me imagino es educacional así que puede servirte el ejemplo para que comiences a hacer algo más vistoso.

Saludos.
Grüße...
Maiku

Full linux alchemist!!!
Avatar de Usuario
grafisoft
Forista Nuevo
Forista Nuevo
Mensajes: 3
Registrado: Vie Jul 17, 2009 7:00 am

Re: Ejecutar un programa mediante php, como???

Mensaje por grafisoft » Lun Jul 20, 2009 10:11 am

Ok, gracias por responder. Habria alguna forma de hacer esto de forma segura??? Alguna otra forma de hacerlo???

Saludos y gracias por todo
Avatar de Usuario
maiku
Moderador
Moderador
Mensajes: 1520
Registrado: Jue Abr 19, 2007 7:00 am
Ubicación: Cojutepeque, El Salvador C. A.
Contactar:

Mensaje por maiku » Lun Jul 20, 2009 9:16 pm

podrías estudiar la posibilidad de usar Perl/CGI
Grüße...
Maiku

Full linux alchemist!!!
Avatar de Usuario
grafisoft
Forista Nuevo
Forista Nuevo
Mensajes: 3
Registrado: Vie Jul 17, 2009 7:00 am

Re: Ejecutar un programa mediante php, como???

Mensaje por grafisoft » Lun Jul 20, 2009 10:49 pm

Ok, al final va a ser algo mas complicadete, me tendre que mirar lo que dices porque nunca los he tocao.

Gracias por las respuestas.
Saludos
Avatar de Usuario
ryanortegarios
Forista Menor
Forista Menor
Mensajes: 58
Registrado: Jue Ene 19, 2006 8:00 am
Contactar:

Re: Ejecutar un programa mediante php, como???

Mensaje por ryanortegarios » Sab Feb 26, 2011 8:15 am

Tengo una duda y espero contimuar con el hilo de este post.

Tengo un archivo en el que parte del formato tiene que ser cargado paor un script y parte por otro. Como puedo hacer para que ambos se ejecuten en un submit. El punto esque el <input submit esta solo en una forma de la pagina. Una parte era activado por un Boton de submit tal cual y otra por la carga de una foto. Ahora elimine la carga de la foto y no se con que evento iniciar la ejecución del Script.

Lo que he pensado es que en esa forma llamar a un mismo script y dentro de ese llamar a los dos que necesito. Claro la otra soluición es re-programar todo y ejecutar solo uno. Que me recomiendan. Aca creo que se trata de una desición que depende de la experiencia mas que de las fallas que pueda tener.


Espero me puedan ayudar.
Dell Inspiron 15
Ubuntu Lucid Lynx| Debian Squeeze
http://ryorown.blogspot.com
Linux User 518016
Avatar de Usuario
akodo
Moderador
Moderador
Mensajes: 1457
Registrado: Mié Nov 28, 2007 8:00 am
Ubicación: En la X del explorer (pulse para llamar)

Re: Ejecutar un programa mediante php, como???

Mensaje por akodo » Lun Feb 28, 2011 11:31 pm

Realmente depende de lo que haga el script. Lo puedes ejecutar al cargar la página (<body onload=...>).
Lo de llamarlo en el submit, pues depende de si tiene sentido ejecutar el código al responder a ese evento o no. De ser así, creo que lo más fácil es hacer lo que tenías pensado.

PD: Estas hablando de javascript ¿no?. De ser así, ¿puedes explicar por qué no has abierto un nuevo hilo? Es para dividir el tema, porque no veo la relación entre tu pregunta y la pregunta del hilo.
Descargue el gestor de mp3 "Music Manager" -> ([url=http://ctrlalt.iespana.es]mmlf[/url])
Última versión del gestor "Music Manager" -> ([url=http://sourceforge.net/projects/jmusicmanager/]jmmm[/url])
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje