.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.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.EXEWindows Executable (Portable Executable)
5.M4AMPEG-4 Audio File
6.MDMarkdown Document
7.DATProgram Data File (generic)
8.JSONJavaScript Object Notation file
9.JPGJPEG Image
10.NOMEDIAAndroid No-Media Marker 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-Å