|
|
Control de acceso en CGI
En este caso, la técnica utilizada en su forma más simple consiste en servirse de un guión o programa en CGI como filtro entre el usuario y la página que se desea proteger, con el fin de evitar accesos no deseados. Esta aplicación CGI debe alojarse en el directorio cgi-bin del servidor u otro directorio que el administrador proporcione a tal efecto, algo a lo que algunos administradores se muestran reacios. De hecho, muchos se negarán o no ofrecerán esta posibilidad, por lo que se deberá recurrir en ese caso a alguno de los métodos anteriormente descritos, que no dependen del servidor. Como en los casos previamente analizados, se trata de leer una clave introducida por del usuario y garantizar el acceso sólo si la clave es correcta. En este caso, dado que el código fuente no se encuentra disponible para los usuarios, bien porque el programa se compila, o bien porque, aun siendo interpretado, el servidor no permite su listado, resulta posible embeber la clave dentro del código fuente, como se hace en el ejemplo. Una vez verificada la clave, simplemente se transporta al usuario a la página de error si aquélla es incorrecta, o a la página protegida, si fuera correcta, como en este ejemplo. En este tipo de páginas, en las que se pide la clave a través de un formulario, pueden existir problemas debido a la funcionalidad de Autocompletar de Internet Explorer. Ahora bien, puede resultar tedioso tener que introducir el nombre y la clave cada vez que queremos acceder a páginas protegidas en el Web. Para evitar esta repetición, una posible solución consiste en pedir el nombre y la clave una sola vez y almacenarlos en una cookie, de manera que a partir de ese momento cada vez que se acceda a un servicio protegido, se compruebe la información de autenticación leyendo la cookie. Puedes comprobarlo en este ejemplo. No hay que olvidar los problemas que plantea este enfoque con cookies. Por otro lado, dado que con CGI se pueden generar páginas al vuelo, se nos presentan interesantes posibilidades para soslayar el problema del bookmarking. Por ejemplo, imaginemos que deseamos ofrecer una colección de fotos a aquellos que hayan pagado por verlas. Si las fotos no se acceden directamente a través de un URL, sino por medio de un CGI, evitamos así que nadie pueda enlazarlas directamente. Si combinamos esta capacidad con el almacenamiento de la información de autenticación en una cookie, conseguiremos que no sea necesario autenticarse para cada imagen descargada. En el siguiente ejemplo se muestra cómo se puede llevar a la práctica esta forma de servir imágenes. Nota: en los ejemplos en CGI escritos en C, he hecho uso de las bibliotecas desarrolladas por Eugene Eric Kim, que pueden descargarse desde su página web, eekim.com. Copyright © 1997-2000 Gonzalo Álvarez Marañón, CSIC. Todos los derechos reservados. Criptonomicón es un servicio ofrecido libremente desde el Instituto de Física Aplicada del CSIC. Para información sobre privacidad, por favor consulte la declaración de política sobre privacidad. Para sugerencias, comentarios o quejas, acuda al libro de visitas. Para contribuir al Criptonomicón, lea la página de contribuciones. |