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: