Cgi-bin

El término cgi-bin
se refiere a un directorio especial en un servidor web donde suelen ubicarse los scripts CGI (Common Gateway Interface). Estos scripts permiten que el servidor web ejecute programas externos para generar contenido dinámico, como resultados de formularios o páginas personalizadas.
🔹 ¿Qué es cgi-bin
?
cgi-bin
significa «Common Gateway Interface – Binary», aunque no necesariamente contiene solo binarios; puede incluir scripts en Perl, Python, Bash, etc.- Es una carpeta configurada por el servidor para ejecutar código en lugar de simplemente servir archivos estáticos como HTML, imágenes o CSS.
- Se encuentra típicamente en rutas como
http://tu-sitio.com/cgi-bin/script.pl
🔹 ¿Cómo funciona CGI?
- El usuario accede a una URL como
http://ejemplo.com/cgi-bin/formulario.pl
- El servidor web (como Apache) detecta que ese archivo debe ejecutarse y no mostrarse directamente.
- El script se ejecuta en el servidor y genera una respuesta HTML (u otro contenido) que se envía al navegador.
🔹 Ejemplo simple de script CGI en Perl
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<html><body><h1>Hola desde CGI!</h1></body></html>";
Este script debe estar en el directorio cgi-bin
, con permisos de ejecución correctos (por ejemplo, chmod 755
).
🔹 Tecnologías modernas vs CGI
Aunque CGI fue muy popular en los 90 y principios de los 2000, hoy en día ha sido reemplazado en gran parte por tecnologías más modernas como:
- PHP, Python (con frameworks como Flask/Django)
- Node.js
- Aplicaciones en contenedores (Docker)
- APIs REST
CGI tiende a ser más lento, ya que crea un proceso nuevo para cada solicitud.
🔹 ¿Es peligroso el cgi-bin
?
Puede serlo si:
- Los scripts no están bien escritos o validados.
- No se controla la entrada del usuario.
- Hay scripts antiguos con vulnerabilidades.
Por eso es fundamental asegurar ese directorio:
- Limitar el acceso.
- Usar permisos adecuados.
- Validar entradas y salidas.
🔹 ¿Dónde se usa hoy?
Aunque ha caído en desuso en entornos de producción modernos, todavía puedes encontrar cgi-bin
en:
- Servidores legacy
- Herramientas internas o científicas antiguas
- Hosting compartidos que aún lo soportan
- Algunos routers o dispositivos IoT usan CGI para sus interfaces web