|
Página 1 de 1
|
DUDA: Ejecutar Programa De Servidor Remotamente???
Autor |
Mensaje |
razaAztk
aztk crux
Analista Programador
Registrado: Enero 2010
Mensajes: 340
Edad: 35 Ubicación: Tenochtitlan
|
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.
|
#1 Viernes, 24 Junio 2016, 16:45 |
|
|
razaAztk
aztk crux
Analista Programador
Registrado: Enero 2010
Mensajes: 340
Edad: 35 Ubicación: Tenochtitlan
|
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.
|
#2 Sabado, 25 Junio 2016, 00:44 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
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...
=================== No podemos regresar
última edición por shordi el Sabado, 25 Junio 2016, 10:14; editado 3 veces
|
#3 Sabado, 25 Junio 2016, 10:12 |
|
|
razaAztk
aztk crux
Analista Programador
Registrado: Enero 2010
Mensajes: 340
Edad: 35 Ubicación: Tenochtitlan
|
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.
|
#4 Domingo, 26 Junio 2016, 05:28 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
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
|
|
|
|
|