Herramientas Web para la Ciencia y Tecnología (HWCT)

 

Realizado por: Douglas Ysrael Perdomo Ramírez

 

Resumen Trabajo 3: CGI

 

INTERFAZ DE ENTRADA COMÚN (Common Gateway Interface, CGI):

 

Es un protocolo estándar para interconectar el software de uso externo con un servidor de información, comúnmente el web server. Esto permite que el servidor pase peticiones de un web browser del cliente al uso externo. El web server puede entonces volver la salida del uso al web browser.

 

El interfaz de entrada común (cgi) es un documento llano del HTML que el demonio de la tela recupera es estático, que los medios que existe en un estado constante: un archivo de texto que no cambia. Un programa del cgi, por otra parte, se ejecuta en tiempo real, de modo que pueda hacer salir la información dinámica.

Por ejemplo, digamos que usted deseó "enganchar encima" de su base de datos de Unix al World Wide Web, permitir que la gente de todo sobre el mundo lo pregunte. Básicamente, usted necesita crear un programa del cgi que el demonio de la tela se ejecute para transmitir la información al motor de la base de datos, y recibe los resultados detrás otra vez y los exhibe al cliente. Éste es un ejemplo de una entrada, y aquí es adonde el cgi, actualmente versión 1.1, consiguió sus orígenes.

 

El cgi se presentó fuera de discusiones sobre WWW-habla la lista que enviaba entre el robo McCool, cartas francas de Juan, Ari Luotonen, las lijadoras Phillips y Tony de George en 1993. Robar McCool, trabajando en el NCSA, bosquejó la especificación inicial y con tal que una puesta en práctica de la referencia en el web server del httpd del NCSA usando variables de entorno para almacenar parámetros pasara del ambiente de la ejecución del web server antes de frezar el programa del cgi como un proceso separado.

 

Un ejemplo de un programa del cgi es el que está que pone un wiki en ejecución. El agente del usuario solicita el nombre de una entrada; el servidor recuperará la fuente de la página de esa entrada (si existe una), la transformará en el HTML, y enviará el resultado de nuevo al browser o incitará a usuario crearlo.

 

Todas las operaciones del wiki son manejadas por este un programa. Los trabajos del cgi de la manera desde el punto de vista del web server son que ciertas localizaciones (e.g. http://www.example.com/wiki.cgi) se define para ser servido por un programa del cgi. Siempre que una petición a un URL que empareja se reciba, el programa correspondiente se llama, con cualquier dato que el cliente enviara como entrada. La salida del programa es recogida por el web server, aumentada con los jefes apropiados, y enviada de nuevo al cliente.

 

Porque esta tecnología requiere generalmente una copia fresca del programa ser ejecutada para cada petición del cgi, la carga de trabajo podría abrumar rápidamente los servidores de la tela, inspirando tecnologías más eficientes tales como mod_perl o ASP que permiten que integren a los intérpretes de la escritura directamente en los servidores de la tela como módulos, así evitando los gastos indirectos de los intérpretes de la lengua en varias ocasiones que cargan y de inicializaciones. Sin embargo, el es solamente aplicable para los idiomas de alto nivel supuestos que necesita a intérpretes. Tales sobrecargas pueden ser evitadas utilizando idiomas como la C. Usando C o idiomas compiladas similares es posible alcanzar niveles de          una eficacia más alta, porque tales programas terminan sus idiomas que interpretadas del ciclo de la ejecución más rápidamente con menos sobrecarga del sistema operativo.

 

 

ESPECIFICACIONES DEL CGI:

Puesto que un programa del cgi es ejecutable, es básicamente el equivalente de dejar el mundo funcionar un programa sobre su sistema, que no es la cosa más segura a hacer. Por lo tanto, hay algunas precauciones de la seguridad que necesitan ser puestas en ejecución cuando viene a usar programas del cgi. El que afectará a usuario típico de la tela es probablemente más el hecho de que los programas del cgi necesitan residir en un directorio especial, de modo que el web server sepa para ejecutar el programa más bien que la exhibición justa él al browser. Este directorio es generalmente debajo control directo del webmaster, prohibiendo al usuario medio de crear programas del cgi. Hay otras maneras de permitir el acceso a las escrituras del cgi, pero está hasta su webmaster para instalar éstos para usted. A este punto, usted puede desear entrarlas en contacto con sobre la viabilidad de permitir el acceso del cgi.

En una versión de la distribución del servidor del httpd del NCSA, se verá un directorio llamado /cgi-bin. Éste es el directorio especial mencionado arriba donde residen todos los programas del cgi actualmente. Un programa del cgi se puede escribir en cualquier lengua que permita que sea ejecutado en el sistema, por ejemplo:

Ø     C/C++

Ø     FORTRAN

Ø     Perl

Ø     Tcl

Ø     Cualquier cáscara de Unix

Ø     Básico Visual

Ø     AppleScript

 

RIESGOS DEL CGI:

Cuando los usuarios envían un formulario o invocan un CGI de alguna otra forma, en definitiva se les está permitiendo ejecutar remotamente un programa en el servidor. Es más, puesto que la mayoría de CGI's aceptan datos de la entrada de usuario (bien después de rellenar un formulario o directamente desde la línea de URL), se les brinda a los usuarios la oportunidad de controlar cómo se ejecutará el CGI, de manera que podrían intentar la introducción de una serie de parámetros inesperados hábilmente manipulados para que el CGI funcione mal.

            

VULNERABILIDAD DEL CGI:

q       Por un lado, la posibilidad de que el CGI sea engañado por la entrada del usuario para que ejecute comandos imprevistos, pudiendo llegar a causar graves daños en el servidor;

 

q       De otro, la posibilidad de revelar innecesariamente información acerca del servidor, que permitirá al atacante conocer mejor la configuración del sistema y estar así mejor equipado para buscar posibles agujeros por los que colarse.

 

RESUMEN:

          Los Servidores Web suministran páginas Web a los navegadores (como por ejemplo, Netscape Navigator, Internet Explorer de Microsoft) que lo solicitan. En términos más técnicos, los servidores Web soportan el Protocolo de Transferencia de Hypertexto conocido como HTTP (HyperText Transfer Protocol), el estándar de Internet para comunicaciones Web. Usando HTTP, un servidor Web envía páginas Web en HTML y CGI, así como otros tipos de scripts a los navegadores o browsers cuando éstos lo requieren. Cuando un usuario hace clic sobre un enlace (link) a una página Web, se envía una solicitud al servidor Web para localizar los datos nombrados por ese enlace. El servidor Web recibe esta solicitud y suministra los datos que le han sido solicitados (una página HTML, un script interactivo, una página Web generada dinámicamente desde una base de datos,...) o bien devuelve un mensaje de error.

 

INFOGRAFÍA CGI

 

CGI (Common Gateway Inteface)

Gateway. cgi-bin. PERL (Practical Extraction and Reporting Language). WWW (World Wide Web). Lenguaje Interpretado. HTML (Hypertext Markup Language). Preprocesar

 

 

 

URL: http://html.rincondelvago.com/cgi.html

El CGI (Common Gateway Interface) es un estandar para comunicar aplicaciones externas con los servidores de información, tales como servidores HTTP o Web.

 

Introducción a los CGIs

URL: http://www.programacion.com/tutorial/cgi/

¿Qué es un programa CGI?, Diferencias entre Java y JavaScritp, ¿Puedo yo usar los CGIs?, Introducir un CGIs en una Página Web.

 

CGI

URL: http://www.webopedia.com/TERM/C/CGI.html

Una especificación para transferir información entre uno mundial Web servidor y uno cgi programa. Un cgi programa ser cualquier programa diseñar aceptar y volver dato que conformar cgi especificación. _ programa poder ser escribir en cualquier programming lengua, incluyendo c, Perl, Java, o visual básico.

 

The Common Gateway Interface

URL: http://hoohoo.ncsa.uiuc.edu/cgi/

Si utilizas un lenguaje de programación como C o el FORTRAN, sabes que debes compilar el programa antes de que funcione. Si miras en el directorio de /cgi-src que vino con la distribución del servidor, encontrarás el código de fuente para algunos de los programas del cgi en el directorio de /cgi-bin. Si, sin embargo, utilizas una de las idiomas scripting en lugar de otro, por ejemplo Perl, TCL, o una cáscara del Unix, la escritura sí mismo necesita solamente residir en el directorio de /cgi-bin, puesto que no hay código de fuente asociado.

 

|CGI Group Inc

URL: http://www.cgi.com/web/en/home.htm

Los 25.000 profesionales de CGI encargados de servir a clientes en todos los rincones del mundo prestan servicios de TI y de proceso de negocios extremo a extremo y ofrecen capacidades de entrega flexibles y rentables, para ayudar a sus clientes a crecer y prosperar.