.CGI

CGI-fil

Common Gateway Interface Script
Stil et spørgsmål
HURTIGT SVAR

En CGI-fil er et Common Gateway Interface-script - et program, som en webserver kører for at generere en side dynamisk (formularhåndtering, tællere, gamle gæstebøger). Det er normalt kildekode i almindelig tekst, oftest Perl eller Python, så du kan åbne den i enhver kodeeditor for at læse eller redigere den. Den kører ikke i din browser: For at eksekvere den skal du placere den i serverens /cgi-bin/-mappe, gøre den eksekverbar, og serveren kører den derefter, når en browser anmoder om den pågældende URL.

Udvikler: NCSA / CGI community (RFC 3875 documents the interface) Kategori: Eksekverbare filer Åben standard MIME: application/x-httpd-cgi
ÅBNER PÅ Windows macOS Linux
Relateret: .APK · .EXE · .VBS · .JAR

På denne side

19k+ filtyper indekseret
Sidst gennemset Jul 10, 2026

Er du ikke sikker på, hvad din fil er?

Træk en fil over i vores identifikator - vi læser kun de første bytes for at navngive formatet.

Identificer en fil

Hvad er CGI-filformatet?

Filendelsen .cgi står for Common Gateway Interface - en standardmetode til at generere webapplikationer og dynamisk indhold på websider. Når .cgi-filendelsen anvendes på en webserver, fungerer den som en grænseflade mellem eksekverbare programmer og den webserver, der genererer hjemmesidens indhold. Alle sådanne programmer kaldes CGI'er eller CGI-scripts.

Disse filer er generelt skrevet i et scriptsprog som Perl, Python eller shell script, selvom en .cgi-fil ligeså vel kan være en kompileret binær fil (for eksempel et C-program). Selve filendelsen siger intet om sproget indeni - shebang-linjen helt øverst i scriptet, såsom #!/usr/bin/perl eller #!/usr/bin/python3, fortæller webserveren, hvilken fortolker der skal kaldes.

Et CGI-script kører på serveren én gang per indgående HTTP-anmodning. Det læser anmodningsdata fra miljøvariabler (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE) og accepterer POST-indhold via stdin, hvorefter det skriver et HTTP-svar - headere efterfulgt af selve indholdet - direkte til stdout. For at fungere skal filen placeres i en CGI-aktiveret mappe (traditionelt /cgi-bin/) og have eksekveringsrettigheder indstillet på serveren.

.cgi er en grænsefladestandard, ikke et programmeringssprog. Flere andre filformater deler .cgi-filendelsen: .pl, .py eller .sh-scripts omdøbes ofte til .cgi, så webserveren sender dem gennem CGI-mekanismen. Da CGI starter en ny proces for hver anmodning, er det langsomt ved stor belastning, og det er i vid udstrækning blevet erstattet af FastCGI, mod_php, WSGI og moderne applikationsservere - selvom det stadig understøttes på de fleste webservere i dag.

Sikkerhed og tryghed

RISIKO: MEDIUM

Det er sikkert at læse en .cgi i en teksteditor - den kører ikke blot ved at blive åbnet. Risikoen ligger i EKSEKVERING på en server: CGI-scripts kører med serverens privilegier og har historisk set været en stor flade for websårbarheder (Shellshock-fejlen fra 2014 blev i høj grad udnyttet via CGI-shell-scripts; dårligt skrevne CGI'er muliggør kommando-injektion, path traversal og eksekvering af vilkårlig kode). Implementer aldrig en downloadet .cgi, som du ikke forstår, hold fortolkere og serveren opdateret, begræns rettighederne til /cgi-bin/, og foretræk FastCGI/app-server-alternativer til nyt arbejde. Behandl ukendt CGI-kildekode som upålidelig kode, der skal gennemgås før kørsel.

Formatdetaljer

kort fortalt
FULDSTÆNDIGT NAVNCommon Gateway Interface Scriptogså kendt som CGI script, CGI program
UDVIKLERNCSA / CGI community (RFC 3875 documents the interface)siden 1993 (NCSA HTTPd); formalized as CGI/1.1 in RFC 3875 (2004)
MIME-TYPEapplication/x-httpd-cgi
TYPEEksekverbart script på serversiden (normalt kildekode i almindelig tekst; undertiden en kompileret binær fil)
STANDARDÅben · royaltyfri
Dette filtypenavn bruges også af…
  • EToys / niche-app-data der bruger .cgi - Enkelte urelaterede applikationer har genbrugt .cgi til deres egne datafiler; på en webserver er en .cgi næsten altid et gateway-script.

Programmer der åbner CGI-filer

Windows3 apps
Notepad Open-source Åbn .cgi for at læse/redigere kildekoden med syntaksfremhævning (Perl/Python/shell). Det rette værktøj til at inspicere eller ændre et script.
Visual Studio Code Gratis Åbn .cgi for fuld redigering med sprogudvidelser, linting og Git; den moderne editor til webscripts.
Apache HTTP Server (to run it) Open-source For at EKSEKVERE en CGI: Placer den i en CGI-aktiveret mappe (mod_cgi, /cgi-bin/), sørg for at fortolkeren er installeret, og at filen er eksekverbar, og anmod derefter om dens URL.
macOS2 apps
BBEdit Freemium Åbn .cgi for at læse/redigere kildekoden på macOS.
Visual Studio Code Gratis Åbn .cgi for fuld redigering med sprogudvidelser, linting og Git; den moderne editor til webscripts.
Linux2 apps
Any text editor (gedit, Vim) Open-source Åbn .cgi for at læse/redigere scriptets kildekode.
The interpreter / web server Open-source Kør direkte med dens fortolker (perl script.cgi) til test, eller server den via Apache mod_cgi / en CGI-kompatibel server. Gør den eksekverbar med chmod +x.

Tekniske detaljer

dyb specifikation
MIME-typeapplication/x-httpd-cgi
Alternative MIME-typertext/plain, application/octet-stream
FilkodningAlmindelig tekst (ASCII/UTF-8) for scripts; indfødt binær for kompilerede eksekverbare filer
FilsignaturIngen faste magic bytes - tekstscripts starter med en shebang-linje (#!/usr/bin/perl, #!/usr/bin/python3, #!/bin/sh, osv.); kompilerede CGI-binærfiler bærer platformens eksekverbare header (ELF på Linux, MZ på Windows)
EksekveringsmodelWebserveren forker en ny OS-proces per HTTP-anmodning for at køre scriptet eller den binære fil; processen afsluttes, når svaret er sendt
Input-mekanismeAnmodningsdata leveres via miljøvariabler (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE, HTTP_*-headere); POST-indhold sendes via stdin
Output-mekanismeScriptet skriver HTTP-svarheadere (Navn: værdi-linjer) efterfulgt af en blank linje og selve svaret direkte til stdout
Påkrævet implementeringFilen skal ligge i en CGI-aktiveret mappe (konventionelt /cgi-bin/) med eksekverings-bit sat; webserver-brugeren skal have læse- og eksekveringsrettigheder
Typiske scriptsprogPerl, Python, Bash/shell, Ruby, C (kompileret til en indfødt binær fil)
Typisk filstørrelse1 KB - 100 KB for tekstscripts; større for kompilerede binærfiler
KomprimeringIngen i selve filen; HTTP-svaret kan være gzip-komprimeret separat af scriptet eller serveren
PlatformunderstøttelseLinux, Unix, macOS, Windows - ethvert OS, der kører en CGI-kompatibel webserver
Almindelige webservereApache HTTP Server, Nginx (via FastCGI-wrapper), lighttpd, Microsoft IIS
YdeevneLangsom ved skalering - hver anmodning opretter og nedlægger en ny proces; erstattet af FastCGI, WSGI og ASGI til implementeringer med høj trafik
SikkerhedsovervejelserScriptets kildekode er læsbar på disken; beskyt med strenge filrettigheder og undgå at eksponere CGI-mappen via en direkte URL uden for den angivne /cgi-bin/-sti
Udgivet1993 (NCSA HTTPd); formalized as CGI/1.1 in RFC 3875 (2004)
Seneste versionCGI/1.1 (RFC 3875, October 2004)
Åben standardJa · royaltyfri
Specifikationwww.rfc-editor.org

CGI-konverteringer

Fællesskabets Q&A

spurgt af brugere
Stil et hurtigt spørgsmål
Få hjælp fra folk, der arbejder med CGI-filer. Vær specifik - medtag dit system og din softwareversion.
Ingen konto nødvendig · svar normalt inden for en dag

Ingen spørgsmål endnu - vær den første til at spørge om CGI-filer.

Ofte stillede spørgsmål

Hvad er en .cgi-fil?
Et Common Gateway Interface-script - et program, som en webserver kører for at generere en side dynamisk (formularer, tællere, gamle gæstebøger). Det er normalt kildekode i almindelig tekst (ofte Perl eller Python) og kører på serveren, ikke i din browser.
Hvordan åbner jeg en .cgi-fil?
For at læse eller redigere den skal du åbne den i en kodeeditor (Notepad++, VS Code, BBEdit) - det er typisk tekstkildekode. For at KØRE den skal du placere den i serverens /cgi-bin/, gøre den eksekverbar og anmode om dens URL; CGI'er kører ikke ved at dobbeltklikke på dem.
Hvorfor viser min browser CGI-koden i stedet for at køre den?
Serveren er ikke konfigureret til at eksekvere CGI på den placering: CGI-håndtering (mod_cgi) er deaktiveret, mappen er ikke CGI-aktiveret, filen mangler eksekveringsrettigheder, eller shebang/fortolkeren er forkert. Placer den i /cgi-bin/ og ret rettighederne.
Hvilket sprog er en .cgi skrevet i?
Filendelsen afslører det ikke - tjek den første linje. En shebang som #!/usr/bin/perl, #!/usr/bin/python3 eller #!/bin/sh fortæller dig, hvilken fortolker der bruges. Nogle CGI'er er kompilerede C-binærfiler i stedet for læsbar kildekode.
Bruges CGI stadig?
Det fungerer stadig og er understøttet, men det betragtes som forældet teknologi: At starte en proces per anmodning er langsomt, så de fleste sider er flyttet til FastCGI, mod_php, WSGI/Rack-appservere og moderne frameworks. Du vil stadig se .cgi i gamle scripts og visse hosting-paneler.
Er .cgi-filer farlige?
Det er sikkert at åbne en i en editor. At køre en upålidelig CGI på en server er risikabelt - CGI'er kører med serverprivilegier og har en historik med alvorlige sårbarheder (f.eks. Shellshock). Gennemse enhver downloadet CGI, før den implementeres, og hold din server opdateret.

Referencer

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

Udforsk mere

på tværs af databasen

Populære filtyper i denne uge

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

Relaterede filtyper

.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 filværktøjer

En fil-identifikator og billedkonverter direkte i browseren - alt kører på din enhed.

Åbn værktøjskassen

Gennemse filtyper A-Å