DUDA: Ejecutar Programa De Servidor Remotamente???


Objetivo: DUDA: Ejecutar Programa De Servidor Remotamente???
Qué tal!

Tengo un servidor web, en el cual hay una aplicación de línea de comandos que genera un archivo PDF. Pero quisiera ejecutar ese programa en otra aplicación en otra computadora que está dentro de la red (pero sin usar un explorador WEB, pudiera ser la línea de comandos). No sé que herramienta usar.

No sé si un script CGI sirva para eso.

Alguna idea de qué usar?

Nota: la aplicación de la que hablo no es gambas. Pero si puedo hacerlo, prometo hacer un ejemplo con una aplicación gambas, jeje.

De antemano, gracias. Saludos cordiales.

Objetivo: Re: DUDA: Ejecutar Programa De Servidor Remotamente???
He estado haciendo algunas pruebas....

Y usando scripts CGI puedo lograr lo que necesitaba.

Estoy usando un servidor IIS (ni modo, no me gusta la plataforma Windows pero es lo que hay en el trabajo). Basicamente creo un script CGI (en este caso es un batch *.cmd), en ese script ejecuto el programa que requiero y desde cualquier computadora lo ejecuto usando wget

$ wget -O - -q http://server/cgi-bin/test.cmd?parametros


En gambas supongo es más fácil, dado que sé que gambas permite crear CGI. Y podría ejecutarse de igual forma con wget.

Saludos.

Objetivo: Re: DUDA: Ejecutar Programa De Servidor Remotamente???
mmmm... me parece un hueco enorme en seguridad. Alguien podría hacer el equivalente a una inyección SQL con comandos, que es peor...
¿Qué pasaría si alguien te pasa ésto o similar (lo he escrito a bote pronto)?

wget -O - -q http://server/cgi-bin/test.cmd?a=1|rm -r .*

A lo bestia... test.cmd abortaría, porque eso de a=1 no tiene sentido para él, pero le pasarías el aborto a rm que tiene su propio y horrible parámetro...

última edición por shordi el Sabado, 25 Junio 2016, 10:14; editado 3 veces
Perfil MP  
Objetivo: Re: DUDA: Ejecutar Programa De Servidor Remotamente???
Shordi,

Gracias por el consejo. Y haciendole caso, lo que tendría que hacer es validar los parametros antes de ejecutarlos; cierto?

Pss bien, dejo un ejemplo de un script CGI gambas, donde valido dos parametros (par01 y par02) permitiendo solo el uso de valores conocidos.

<%
Dim sData As String[]
Dim si, par01 As String
Dim i, par02 As Integer
%>

<html>
<head>
<title>Script gb</title>
</head>
<body>

<%
'Print Env["QUERY_STRING"]
sData = Split(Env["QUERY_STRING"], "=&", "'", True, False)

par01 = "none"
i = sData.Find("par01")
If (i <> -1) And (i + 1 <= sData.Max) Then
par01 = sData[i + 1]
Select Case par01
Case "opt01", "opt02", "opt03"
par01 = par01
Case Else
par01 = "none"
End Select
End If

par02 = 0
i = sData.Find("par02")
If (i <> -1) And (i + 1 <= sData.Max) Then
par02 = Val(0 & Val(sData[i + 1]))
Select Case par02
Case 1 To 99
par02 = par02
Case Else
par02 = 0
End Select
End If

'Print par01, par02
Exec ["comando", "-par01", par01, "-par02", par02]
%>

<h1>Comando ejecutado</h1>

</body>
</html>


Supongo que hay otras cosas que considerar, talvez limitar el numero o condiciones a ejecutar el comando. Por suerte para mi, en donde lo voy a implementar será en un entorno bastante controlado.

Gracias. Saludos.


Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4378s (PHP: -74% SQL: 174%)
Consultas SQL: 46 - Debug off - GZIP Activado