.CGI

Fichier CGI

Common Gateway Interface Script
Poser une question
RÉPONSE RAPIDE

Un fichier CGI est un script Common Gateway Interface - un programme qu'un serveur web exécute pour générer une page de manière dynamique (formulaires, compteurs, anciens livres d'or). Il s'agit généralement de code source en texte brut, le plus souvent en Perl ou Python, vous pouvez donc l'ouvrir dans n'importe quel éditeur de code pour le lire ou le modifier. Il ne s'exécute pas dans votre navigateur : pour le lancer, vous devez le placer dans le répertoire /cgi-bin/ du serveur, le rendre exécutable, et le serveur l'exécutera lorsqu'un navigateur demandera cette URL.

Développeur : NCSA / CGI community (RFC 3875 documents the interface) Catégorie : Fichiers exécutables Standard ouvert MIME: application/x-httpd-cgi
S'OUVRE SUR Windows macOS Linux
Lié : .APK · .EXE · .VBS · .JAR

Sur cette page

19k+ extensions indexées
Dernière révision le Jul 10, 2026

Pas sûr de la nature de votre fichier ?

Déposez n'importe quel fichier dans notre identificateur - nous lisons juste les premiers octets pour nommer le format.

Identifier un fichier

Qu'est-ce que le format de fichier CGI ?

L'extension .cgi signifie Common Gateway Interface - une approche standard pour générer des applications web et du contenu dynamique sur les pages web. L'extension .cgi, lorsqu'elle est appliquée sur un serveur web, fournit une interface entre les programmes exécutables et le serveur web qui génère le contenu du site. Tous ces programmes sont appelés CGI ou scripts CGI.

Ces fichiers sont généralement écrits à l'aide d'un langage de script tel que Perl, Python ou shell script, bien qu'un fichier .cgi puisse également être un binaire compilé (par exemple, un programme C). L'extension elle-même ne dit rien sur le langage utilisé - la ligne shebang tout en haut du script, telle que #!/usr/bin/perl ou #!/usr/bin/python3, indique au serveur web quel interpréteur invoquer.

Un script CGI s'exécute sur le serveur une fois par requête HTTP entrante. Il lit les données de la requête à partir des variables d'environnement (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE) et accepte les données du corps POST via stdin, puis écrit une réponse HTTP - les en-têtes suivis du contenu du corps - directement sur stdout. Pour fonctionner, le fichier doit être placé dans un répertoire compatible CGI (traditionnellement /cgi-bin/) et avoir les permissions d'exécution définies sur le serveur.

.cgi est un standard d'interface, pas un langage de programmation. Plusieurs autres formats de fichiers partagent l'extension .cgi : les scripts .pl, .py ou .sh sont souvent renommés en .cgi pour que le serveur web les traite via le mécanisme CGI. Parce que le CGI génère un nouveau processus pour chaque requête, il est lent à grande échelle et a été largement remplacé par FastCGI, mod_php, WSGI et les serveurs d'applications modernes - bien qu'il reste supporté sur la plupart des serveurs web aujourd'hui.

Sécurité et sûreté

RISQUE : MEDIUM

Lire un .cgi dans un éditeur de texte est sûr - il ne s'exécutera pas en étant ouvert. Le risque réside dans l'EXÉCUTION sur un serveur : les scripts CGI s'exécutent avec les privilèges du serveur et constituent historiquement une surface de vulnérabilité web majeure (le bug Shellshock de 2014 a été exploité largement via des scripts shell CGI ; des CGI mal écrits permettent l'injection de commandes, la traversée de répertoires et l'exécution de code arbitraire). Ne déployez jamais un .cgi téléchargé que vous ne comprenez pas, maintenez les interpréteurs et le serveur à jour, restreignez les permissions de /cgi-bin/ et préférez les alternatives FastCGI/serveur d'applications pour les nouveaux projets. Traitez toute source CGI inconnue comme du code non fiable à examiner avant exécution.

Détails du format

en bref
NOM COMPLETCommon Gateway Interface Scriptalias CGI script, CGI program
DÉVELOPPEURNCSA / CGI community (RFC 3875 documents the interface)depuis 1993 (NCSA HTTPd); formalized as CGI/1.1 in RFC 3875 (2004)
TYPE MIMEapplication/x-httpd-cgi
TYPEScript exécutable côté serveur (généralement source en texte brut ; parfois binaire compilé)
STANDARDOuvert · libre de droits
Cette extension est également utilisée par…
  • EToys / données d'applications spécifiques utilisant .cgi - Quelques applications non liées ont réutilisé .cgi pour leurs propres fichiers de données ; sur un serveur web, un .cgi est presque toujours un script d'interface.

Programmes qui ouvrent les fichiers CGI

Windows3 apps
Notepad Open-source Ouvrez le .cgi pour lire/modifier la source avec coloration syntaxique (Perl/Python/shell). L'outil idéal pour inspecter ou modifier un script.
Visual Studio Code Gratuit Ouvrez le .cgi pour une édition complète avec extensions de langage, linting et Git ; l'éditeur moderne pour les scripts web.
Apache HTTP Server (to run it) Open-source Pour EXÉCUTER un CGI : placez-le dans un répertoire compatible CGI (mod_cgi, /cgi-bin/), assurez-vous que l'interpréteur est installé et que le fichier est exécutable, puis appelez son URL.
macOS2 apps
BBEdit Freemium Ouvrez le .cgi pour lire/modifier la source sur macOS.
Visual Studio Code Gratuit Ouvrez le .cgi pour une édition complète avec extensions de langage, linting et Git ; l'éditeur moderne pour les scripts web.
Linux2 apps
Any text editor (gedit, Vim) Open-source Ouvrez le .cgi pour lire/modifier la source du script.
The interpreter / web server Open-source Exécutez directement avec son interpréteur (perl script.cgi) pour test, ou servez-le via Apache mod_cgi / un serveur compatible CGI. Rendez-le exécutable avec chmod +x.

Détails techniques

spécifications approfondies
Type MIMEapplication/x-httpd-cgi
Types MIME alternatifstext/plain, application/octet-stream
Encodage du fichierTexte brut (ASCII/UTF-8) pour les scripts ; binaire natif pour les exécutables compilés
Signature de fichierPas d'octets magiques fixes - les scripts texte commencent par une ligne shebang (#!/usr/bin/perl, #!/usr/bin/python3, #!/bin/sh, etc.) ; les binaires CGI compilés portent l'en-tête exécutable de la plateforme (ELF sur Linux, MZ sur Windows)
Modèle d'exécutionLe serveur web crée un nouveau processus système par requête HTTP pour exécuter le script ou le binaire ; le processus s'arrête après l'envoi de la réponse
Mécanisme d'entréeDonnées de requête transmises via des variables d'environnement (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE, en-têtes HTTP_*) ; corps POST transmis via stdin
Mécanisme de sortieLe script écrit les en-têtes de réponse HTTP (lignes Nom: valeur) suivis d'une ligne vide et du corps de la réponse directement sur stdout
Déploiement requisLe fichier doit résider dans un répertoire compatible CGI (conventionnellement /cgi-bin/) avec le bit d'exécution activé ; l'utilisateur du serveur web a besoin des permissions de lecture et d'exécution
Langages de script typiquesPerl, Python, Bash/shell, Ruby, C (compilé en binaire natif)
Taille de fichier typique1 Ko - 100 Ko pour les scripts texte ; plus volumineux pour les binaires compilés
CompressionAucune dans le fichier lui-même ; le corps de la réponse HTTP peut être compressé en gzip séparément par le script ou le serveur
Plateformes supportéesLinux, Unix, macOS, Windows - tout système d'exploitation exécutant un serveur web compatible CGI
Serveurs web courantsApache HTTP Server, Nginx (via wrapper FastCGI), lighttpd, Microsoft IIS
Caractéristiques de performanceLent à grande échelle - chaque requête crée et détruit un nouveau processus ; remplacé par FastCGI, WSGI et ASGI pour les déploiements à fort trafic
Considérations de sécuritéLa source du script est lisible sur le disque ; protégez-la avec des permissions de fichiers strictes et évitez d'exposer le répertoire CGI via une URL directe en dehors du chemin /cgi-bin/ désigné
Publié1993 (NCSA HTTPd); formalized as CGI/1.1 in RFC 3875 (2004)
Dernière versionCGI/1.1 (RFC 3875, October 2004)
Standard ouvertOui · libre de droits
Spécificationwww.rfc-editor.org

Conversions CGI

Q&R de la communauté

posées par les utilisateurs
Poser une question rapide
Obtenez de l'aide de personnes qui travaillent avec des fichiers CGI. Soyez précis - incluez votre système et la version du logiciel.
Aucun compte requis · réponses généralement sous un jour

Pas encore de questions - soyez le premier à poser une question sur les fichiers CGI.

Foire aux questions

Qu'est-ce qu'un fichier .cgi ?
Un script Common Gateway Interface - un programme qu'un serveur web exécute pour générer une page dynamiquement (formulaires, compteurs, anciens livres d'or). C'est généralement du code source en texte brut (souvent Perl ou Python) qui s'exécute sur le serveur, pas dans votre navigateur.
Comment ouvrir un fichier .cgi ?
Pour le lire ou le modifier, ouvrez-le dans un éditeur de code (Notepad++, VS Code, BBEdit) - c'est généralement du texte source. Pour l'EXÉCUTER, placez-le dans le dossier /cgi-bin/ du serveur, rendez-le exécutable et appelez son URL ; les CGI ne s'exécutent pas par un double-clic.
Pourquoi mon navigateur affiche-t-il le code CGI au lieu de l'exécuter ?
Le serveur n'est pas configuré pour exécuter le CGI à cet emplacement : la gestion CGI (mod_cgi) est désactivée, le répertoire n'est pas autorisé, le fichier n'a pas les permissions d'exécution ou le shebang/interpréteur est incorrect. Placez-le dans /cgi-bin/ et corrigez les permissions.
Dans quel langage un .cgi est-il écrit ?
L'extension ne l'indique pas - vérifiez la première ligne. Un shebang comme #!/usr/bin/perl, #!/usr/bin/python3 ou #!/bin/sh vous indique l'interpréteur. Certains CGI sont des binaires C compilés au lieu de sources lisibles.
Le CGI est-il encore utilisé ?
Il fonctionne toujours et est supporté, mais il est considéré comme obsolète : démarrer un processus par requête est lent, donc la plupart des sites sont passés à FastCGI, mod_php, WSGI/Rack et aux frameworks modernes. Vous verrez encore des .cgi dans d'anciens scripts et certains panneaux d'hébergement.
Les fichiers .cgi sont-ils dangereux ?
Ouvrir un fichier dans un éditeur est sûr. Exécuter un CGI non fiable sur un serveur est risqué - les CGI s'exécutent avec les privilèges du serveur et ont un historique de failles graves (ex: Shellshock). Examinez tout CGI téléchargé avant de le déployer et maintenez votre serveur à jour.

Références

1RFC 3875 - The Common Gateway Interface (CGI) Version 1.1www.rfc-editor.org
2Wikipedia - Common Gateway Interfaceen.wikipedia.org

Continuer l'exploration

à travers la base de données

Top des extensions cette semaine

1.AQQAQQ Instant Messenger File
2.BINCD/DVD Disc Image (BIN/CUE)
3.CRDOWNLOADChrome Partial Download File
4.PARTPartial Download File
5.MDMarkdown Document
6.RPMSGRestricted Permission Message
7.NOMEDIAAndroid No-Media Marker File
8.PRO6XProPresenter 6 Bundle File
9.PRDXSoftMaker Presentations Document
10.EXEWindows Executable (Portable Executable)

Extensions liées

.APKAndroid Package
.EXEWindows Executable (Portable Executable)
.VBSVBScript file (Visual Basic Script)
.JARJava Archive
.EX4MetaTrader 4 Compiled Program (Expert Advisor / Indicator / Script)
.APPXMicrosoft Windows App Package (AppX)

Outils de fichiers gratuits

Un identificateur de fichier et un convertisseur d'images dans le navigateur - tout s'exécute sur votre appareil.

Ouvrir la boîte à outils

Parcourir les extensions de fichiers A-Z