.CGI

CGI-bestand

Common Gateway Interface Script
Stel een vraag
SNEL ANTWOORD

Een CGI-bestand is een Common Gateway Interface-script - een programma dat een webserver uitvoert om dynamisch een pagina te genereren (formulierverwerkers, tellers, oude gastenboeken). Het is meestal broncode in platte tekst, vaak Perl of Python, dus u opent het in elke code-editor om het te lezen of te bewerken. Het draait niet in uw browser: om het uit te voeren plaatst u het in de /cgi-bin/-map van de server, maakt u het uitvoerbaar, en de server voert het uit wanneer een browser die URL opvraagt.

Ontwikkelaar: NCSA / CGI community (RFC 3875 documents the interface) Categorie: Uitvoerbare bestandens Open standaard MIME: application/x-httpd-cgi
OPENT OP Windows macOS Linux
Gerelateerd: .APK · .EXE · .VBS · .JAR

Op deze pagina

19k+ extensies geïndexeerd
Laatst beoordeeld op Jul 10, 2026

Niet zeker wat uw bestand is?

Sleep een bestand naar onze identificatietool - we lezen alleen de eerste bytes om het formaat te benoemen.

Identificeer een bestand

Wat is het CGI-bestandsformaat?

De extensie .cgi staat voor Common Gateway Interface - een standaardaanpak om webapplicaties en dynamische inhoud op webpagina's te genereren. De .cgi-extensie biedt, wanneer toegepast op een webserver, een interface tussen uitvoerbare programma's en de webserver die de website-inhoud genereert. Al dergelijke programma's worden CGI's of CGI-scripts genoemd.

Deze bestanden worden over het algemeen geschreven in een scripttaal zoals Perl, Python of shell script, hoewel een .cgi-bestand evengoed een gecompileerd binair bestand kan zijn (bijvoorbeeld een C-programma). De extensie zelf zegt niets over de taal binnenin - de shebang-regel bovenaan het script, zoals #!/usr/bin/perl of #!/usr/bin/python3, vertelt de webserver welke interpreter moet worden aangeroepen.

Een CGI-script draait op de server eenmaal per inkomend HTTP-verzoek. Het leest verzoekgegevens uit omgevingsvariabelen (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE) en accepteert POST-bodygegevens via stdin, en schrijft vervolgens een HTTP-respons - headers gevolgd door de inhoud - rechtstreeks naar stdout. Om te functioneren moet het bestand in een voor CGI geactiveerde map worden geplaatst (traditioneel /cgi-bin/) en moet de uitvoerbare permissie op de server zijn ingesteld.

.cgi is een interfacestandaard, geen programmeertaal. Verschillende andere bestandsformaten delen de .cgi-extensie: .pl, .py of .sh scripts worden vaak hernoemd naar .cgi zodat de webserver ze via het CGI-mechanisme routeert. Omdat CGI voor elk verzoek een nieuw proces start, is het traag bij grote schaal en is het grotendeels vervangen door FastCGI, mod_php, WSGI en moderne applicatieservers - hoewel het op de meeste webservers vandaag de dag nog steeds wordt ondersteund.

Beveiliging & veiligheid

RISICO: MEDIUM

Het lezen van een .cgi in een teksteditor is veilig - het wordt niet uitgevoerd door het te openen. Het risico zit in de UITVOERING op een server: CGI-scripts draaien met de privileges van de server en zijn historisch gezien een groot oppervlak voor webkwetsbaarheden (de Shellshock-bug uit 2014 werd grotendeels misbruikt via CGI-shellscripts; slecht geschreven CGI's maken commando-injectie, path traversal en willekeurige code-executie mogelijk). Implementeer nooit een gedownloade .cgi die u niet begrijpt, houd interpreters en de server up-to-date, beperk /cgi-bin/ permissies en geef de voorkeur aan FastCGI/app-server alternatieven voor nieuw werk. Behandel onbekende CGI-broncode als niet-vertrouwde code die moet worden gecontroleerd voor uitvoering.

Formaatdetails

in een notendop
VOLLEDIGE NAAMCommon Gateway Interface Scriptook bekend als CGI script, CGI program
ONTWIKKELAARNCSA / CGI community (RFC 3875 documents the interface)sinds 1993 (NCSA HTTPd); formalized as CGI/1.1 in RFC 3875 (2004)
MIME-TYPEapplication/x-httpd-cgi
TYPEServer-side uitvoerbaar script (meestal broncode in platte tekst; soms een gecompileerd binair bestand)
STANDAARDOpen · royaltyvrij
GERELATEERD.apk.exe.vbs.jar
Deze extensie wordt ook gebruikt door…
  • EToys / niche app-data met .cgi - Een paar niet-gerelateerde applicaties hebben .cgi hergebruikt voor hun eigen databestanden; op een webserver is een .cgi bijna altijd een gateway-script.

Programma's die CGI-bestanden openen

Windows3 apps
Notepad Open-source Open de .cgi om de broncode te lezen/bewerken met syntax-highlighting (Perl/Python/shell). Het juiste hulpmiddel om een script te inspecteren of aan te passen.
Visual Studio Code Gratis Open de .cgi voor volledige bewerking met taalextensies, linting en Git; de moderne editor voor webscripts.
Apache HTTP Server (to run it) Open-source Om een CGI UIT TE VOEREN: plaats het in een voor CGI geactiveerde map (mod_cgi, /cgi-bin/), zorg dat de interpreter is geïnstalleerd en het bestand uitvoerbaar is, en vraag vervolgens de URL op.
macOS2 apps
BBEdit Freemium Open de .cgi om de broncode te lezen/bewerken op macOS.
Visual Studio Code Gratis Open de .cgi voor volledige bewerking met taalextensies, linting en Git; de moderne editor voor webscripts.
Linux2 apps
Any text editor (gedit, Vim) Open-source Open de .cgi om de scriptbroncode te lezen of te bewerken.
The interpreter / web server Open-source Draai direct met de bijbehorende interpreter (perl script.cgi) om te testen, of serveer het via Apache mod_cgi / een server die CGI ondersteunt. Maak het uitvoerbaar met chmod +x.

Technische details

diepe specificaties
MIME-typeapplication/x-httpd-cgi
Alternatieve MIME-typentext/plain, application/octet-stream
BestandscoderingPlatte tekst (ASCII/UTF-8) voor scripts; eigen binair formaat voor gecompileerde uitvoerbare bestanden
BestandssignatuurGeen vaste magic bytes - tekstscripts beginnen met een shebang-regel (#!/usr/bin/perl, #!/usr/bin/python3, #!/bin/sh, enz.); gecompileerde CGI-binaries bevatten de uitvoerbare header van het platform (ELF op Linux, MZ op Windows)
ExecutiemodelWebserver start een nieuw OS-proces per HTTP-verzoek om het script of binair bestand uit te voeren; proces stopt nadat de respons is verzonden
InvoermechanismeVerzoekgegevens geleverd via omgevingsvariabelen (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE, HTTP_* headers); POST-body doorgegeven via stdin
UitvoermechanismeScript schrijft HTTP-responsheaders (Naam: waarde regels) gevolgd door een lege regel en de respons-body direct naar stdout
Vereiste implementatieBestand moet zich bevinden in een voor CGI geactiveerde map (conventioneel /cgi-bin/) met de uitvoerbare bit ingesteld; de webservergebruiker heeft lees- en uitvoerrechten nodig
Typische scripttalenPerl, Python, Bash/shell, Ruby, C (gecompileerd naar een native binary)
Typische bestandsgrootte1 KB - 100 KB voor tekstscripts; groter voor gecompileerde binaries
CompressieGeen binnen het bestand zelf; de HTTP-respons-body kan apart door het script of de server met gzip worden gecomprimeerd
PlatformondersteuningLinux, Unix, macOS, Windows - elk besturingssysteem dat een webserver met CGI-ondersteuning draait
Veelvoorkomende webserversApache HTTP Server, Nginx (via FastCGI wrapper), lighttpd, Microsoft IIS
PrestatiekenmerkTraag bij grote schaal - elk verzoek start en vernietigt een nieuw proces; vervangen door FastCGI, WSGI en ASGI voor implementaties met veel verkeer
BeveiligingsoverwegingScriptbroncode is leesbaar op de schijf; bescherm met strikte bestandspermissies en voorkom blootstelling van de CGI-map via een directe URL buiten het aangewezen /cgi-bin/ pad
Uitgebracht1993 (NCSA HTTPd); formalized as CGI/1.1 in RFC 3875 (2004)
Laatste versieCGI/1.1 (RFC 3875, October 2004)
Open standaardJa · royaltyvrij
Specificatiewww.rfc-editor.org

CGI conversies

Community V&A

gevraagd door gebruikers
Stel een korte vraag
Krijg hulp van mensen die met CGI-bestanden werken. Wees specifiek - vermeld uw systeem en softwareversie.
Geen account nodig · antwoorden meestal binnen een dag

Nog geen vragen - wees de eerste om iets te vragen over CGI-bestanden.

Veelgestelde vragen

Wat is een .cgi-bestand?
Een Common Gateway Interface-script - een programma dat een webserver uitvoert om dynamisch een pagina te genereren (formulieren, tellers, oude gastenboeken). Het is meestal broncode in platte tekst (vaak Perl of Python) en draait op de server, niet in uw browser.
Hoe open ik een .cgi-bestand?
Om het te lezen of te bewerken, opent u het in een code-editor (Notepad++, VS Code, BBEdit) - het is doorgaans tekstbroncode. Om het UIT TE VOEREN, plaatst u het in de /cgi-bin/ van de server, maakt u het uitvoerbaar en vraagt u de URL op; CGI's draaien niet door erop te dubbelklikken.
Waarom toont mijn browser de CGI-code in plaats van deze uit te voeren?
De server is niet geconfigureerd om CGI op die locatie uit te voeren: CGI-afhandeling (mod_cgi) staat uit, de map is niet voor CGI geactiveerd, het bestand mist uitvoerrechten, of de shebang/interpreter is onjuist. Plaats het in /cgi-bin/ en herstel de permissies.
In welke taal is een .cgi geschreven?
De extensie zegt dat niet - controleer de eerste regel. Een shebang zoals #!/usr/bin/perl, #!/usr/bin/python3 of #!/bin/sh vertelt u de interpreter. Sommige CGI's zijn gecompileerde C-binaries in plaats van leesbare broncode.
Wordt CGI nog steeds gebruikt?
Het werkt nog steeds en wordt ondersteund, maar het is verouderde technologie: het starten van een proces per verzoek is traag, dus de meeste sites zijn overgestapt naar FastCGI, mod_php, WSGI/Rack-appservers en moderne frameworks. U ziet .cgi nog steeds in oude scripts en sommige hostingpanels.
Zijn .cgi-bestanden gevaarlijk?
Het openen van een bestand in een editor is veilig. Het draaien van een niet-vertrouwde CGI op een server is riskant - CGI's draaien met serverprivileges en hebben een geschiedenis van ernstige kwetsbaarheden (bijv. Shellshock). Controleer elk gedownload CGI-bestand voordat u het implementeert en houd uw server up-to-date.

Referenties

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

Blijf ontdekken

door de database

Populaire extensies deze week

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)

Gerelateerde extensies

.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)

Gratis bestandstools

Een bestandsidentificatie en afbeeldingsconverter in de browser - alles draait op uw eigen apparaat.

Open de gereedschapskist

Blader door bestandsextensies A-Z