Los CGI

Los CGI (Common Gateway Interface) son programas que se ejecutan en el servidor y permiten que se genere una p�gina web de forma din�mica.

�Puedo tener mis propios CGI?

S�, siempre que se cumpla:

  1. Deben estar en un directorio cgi-bin de su web. Este directorio ha de tener permisos de ejecuci�n. Un CGI en un directorio sin permisos de ejecuci�n no funcionar�. Por ello deber� solicitar a [email protected] que le asigne este permiso de ejecuci�n al directorio.
  2. Deben estar compilados para Windosw NT sobre plataformas Intel o bien estar escritos en Perl para Win 32 (versi�n de Active State).

Tenga en cuenta que el funcionamiento de sus propios CGIs es cuesti�n suya y no est� inclu�do en el soporte t�cnico de los servidores.

Permisos de ejecuci�n

Los CGI no pueden ser colocados en cualquier directorio y esperar que funcionen. Un CGI ha de estar en un directorio que tenga permisos de ejecuci�n de scripts, si se trata de un script en Perl, o de ejecuci�n de archivos exe (que incluye scripts) si se trata de un ejecutable.

El directorio cgi-bin al crearse y notificar la intencion de uso de cgi a [email protected] se le dispone de permisos de ejecuci�n y se eliminan los permisos de lectura y listado para proteger mejor los fuentes. Normalmente colocar� ah� sus propios CGI.

Escritura en el servidor

Si estos CGI han de escribir en algun fichero este ha de tener permisos de escritura. Por ello deber� solicitar a [email protected] que le asigne este permiso de escritura en los directorios que desee.

Por motivos de seguridad no es aconsejable que el directorio cgi-bin tenga permiso de escritura por lo que no debe crear CGI que escriban en el. Dirija sus escrituras contra un directorio de datos fuera de cgi-bin.

De todas formas, hay CGI disponibles freeware en Internet que escriben en archivos que se encuentran en el mismo directorio del Script. Esta es una pr�ctica poco recomendable. Para que estos CGI funcionen es necesario que al directorio en el que se encuentran se le asignen permisos de ejecuci�n y de escritura simult�neamente. Y esto constituye un importante agujero de seguridad para su sitio web.

�Hay alguna librer�a interesante de Perl en AdsoNet?

S�, se trata de CGI.pm. Facilita much�simo las tareas de la programaci�n de CGIs. La documentaci�n la puede encontrar http://www.genome.wi.mit.edu/ftp/pub/software/WWW/cgi_docs.html.

El Perl y Windows NT

Nuestros servidores funcionan sobre el sistema operativo Windows NT. Una de las ventajas del Perl es que al ser interpretado es muy portable. Sin embargo no lo es del todo. Hay funciones de la biblioteca est�ndar que s�lo existen en sistemas Unix y no en Windows NT.

Debe tener esto en cuenta y que no se puede garantizar que los scripts en Perl que encuentre en Intenet vayan a funcionar sin cambios en Windows NT. Hay algunos que s�, pero normalmente es porque est�n dise�ados con idea de portabilidad desde el principio.

Adem�s, los CGI de terceros casi siempre requieren una adaptaci�n previa (customize) para que funcionen. El motivo es que suelen depender de par�metros como rutas de directorios, nombres de archivos, etc. Por suerte, la zona de customizaci�n suele estar clara en la mayor�a de los scripts y consiste simplemente en cambiar valores de ciertas variables.

La versi�n de Perl for Win32 de que disponemos es la de ActiveState y procuramos que est� actualizada.

Tenga en cuenta los siguientes puntos si piensa utilizar scripts en Perl que est�n escritos para Unix: