CGI - ejecutar un bat en el servidor desde cgi

 
Vista:

ejecutar un bat en el servidor desde cgi

Publicado por Hugo (1 intervención) el 17/05/2007 20:34:33
Hola:

Agradecera muchisimo la ayuda de algun guro que me pueda decir como hacer para mandar las variables de un formulario hecho en php a un archivo bat que se encuentra en el servidor y a su vez correr este bat en el mismo servidor no en el cliente.

Hasta donde investigue creo que se hace con un cgi hecho en perl, tengo todo lo necesario de hecho he estado haciendo algunas pruebas de cgi y perl satisfactorias pero no tengo ni idea de como hacer lo antes mencionado.

Muchisimas gracias!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Enviar variables de formulario PHP a un archivo BAT en el servidor

Publicado por Alejandro (140 intervenciones) el 24/08/2023 23:56:45
Para enviar variables de un formulario PHP a un archivo BAT en el servidor y luego ejecutar ese archivo BAT, puedes utilizar un script CGI en Perl como mencionaste. Aquí hay una guía básica de cómo hacerlo:

1. Crea el formulario PHP:

Crea un formulario HTML en PHP donde los usuarios puedan ingresar la información que deseas enviar al archivo BAT. Por ejemplo:

1
2
3
4
5
<form action="tu_script.cgi" method="post">
    <input type="text" name="variable1">
    <input type="text" name="variable2">
    <input type="submit" value="Enviar">
</form>

2. Crea el script CGI en Perl:

Crea un script CGI en Perl (por ejemplo, `tu_script.cgi`) que recibirá los datos del formulario, generará el archivo BAT y lo ejecutará. Aquí tienes un ejemplo básico:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/perl
 
use strict;
use warnings;
 
# Obtén los datos del formulario
my $variable1 = $ENV{'QUERY_STRING'} =~ s/&/ /gr;  # Obtén el valor de variable1
my $variable2 = $ENV{'QUERY_STRING'} =~ s/&/ /gr;  # Obtén el valor de variable2
 
# Crea el contenido del archivo BAT
my $bat_content = "echo Variable1: $variable1 > salida.txt\necho Variable2: $variable2 >> salida.txt";
 
# Guarda el contenido en un archivo BAT
my $bat_filename = "tuscript.bat";
open(my $bat_file, '>', $bat_filename) or die "No se pudo crear el archivo BAT: $!";
print $bat_file $bat_content;
close $bat_file;
 
# Cambia los permisos del archivo BAT para que sea ejecutable
chmod 0755, $bat_filename;
 
# Ejecuta el archivo BAT
system($bat_filename);
 
print "Content-type: text/html\n\n";
print "El archivo BAT se ha ejecutado.";

3. Coloca el script CGI en la ruta del servidor:

Coloca el archivo `tu_script.cgi` en el directorio apropiado en tu servidor web para que pueda ser accesible.

4. Pruebas y ajustes:

Realiza pruebas del formulario y el script CGI para asegurarte de que funcione correctamente. Asegúrate de tener en cuenta la seguridad al manejar datos ingresados por los usuarios.

Recuerda que esta es una solución básica y puede requerir ajustes para adaptarse a tus necesidades y a la configuración específica de tu servidor. Asegúrate de comprender cómo funciona el código y cómo manejar adecuadamente los datos ingresados por los usuarios.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar