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 |
|
|
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 |
|
|
¿Qué es un
programa CGI?, Diferencias entre Java y JavaScritp, ¿Puedo yo usar
los CGIs?, Introducir un CGIs en una Página Web. |
|
|
CGI |
|
|
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 |
|
|
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 Group Inc |
|
|
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. |
|