.CGI

CGI-fil

Common Gateway Interface Script
Ställ en fråga
SNABBT SVAR

En CGI-fil är ett Common Gateway Interface-skript - ett program som en webbserver kör för att generera en sida dynamiskt (formulärhanterare, räknare, gamla gästböcker). Det är vanligtvis källkod i klartext, oftast Perl eller Python, så du öppnar den i valfri kodredigerare för att läsa eller redigera den. Den körs inte i din webbläsare: för att exekvera den placerar du den i serverns /cgi-bin/-katalog, gör den körbar, och servern kör den när en webbläsare anropar den URL:en.

Utvecklare: NCSA / CGI community (RFC 3875 documents the interface) Kategori: Exekverbara filer Öppen standard MIME: application/x-httpd-cgi
ÖPPNAS PÅ Windows macOS Linux
Relaterat: .APK · .EXE · .VBS · .JAR

På denna sida

19k+ filtillägg indexerade
Senast granskad Jul 10, 2026

Osäker på vad din fil är?

Släpp valfri fil i vår identifierare - vi läser bara de första byten för att namnge formatet.

Identifiera en fil

Vad är filformatet CGI?

Tillägget .cgi står för Common Gateway Interface - ett standardiserat sätt att generera webbapplikationer och dynamiskt innehåll på webbsidor. Tillägget .cgi, när det används på en webbserver, tillhandahåller ett gränssnitt mellan körbara program och webbservern som genererar webbplatsens innehåll. Alla sådana program kallas CGI:er eller CGI-skript.

Dessa filer är i allmänhet skrivna med ett skriptspråk som Perl, Python eller shell script, även om en .cgi-fil lika gärna kan vara en kompilerad binärfil (till exempel ett C-program). Själva filändelsen säger ingenting om språket inuti - shebang-raden längst upp i skriptet, såsom #!/usr/bin/perl eller #!/usr/bin/python3, talar om för webbservern vilken tolk som ska anropas.

Ett CGI-skript körs på servern en gång per inkommande HTTP-begäran. Det läser begäransdata från miljövariabler (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE) och accepterar POST-data via stdin, och skriver sedan ett HTTP-svar - rubriker följt av innehåll - direkt till stdout. För att fungera måste filen placeras i en CGI-aktiverad katalog (traditionellt /cgi-bin/) och ha körrättigheter inställda på servern.

.cgi är en gränssnittsstandard, inte ett programmeringsspråk. Flera andra filformat delar filändelsen .cgi: .pl, .py eller .sh-skript döps ofta om till .cgi så att webbservern dirigerar dem genom CGI-mekanismen. Eftersom CGI skapar en ny process för varje begäran är det långsamt vid hög belastning, och det har till stor del ersatts av FastCGI, mod_php, WSGI och moderna applikationsservrar - även om det fortfarande stöds på de flesta webbservrar idag.

Säkerhet & trygghet

RISK: MEDIUM

Att läsa en .cgi i en textredigerare är säkert - den körs inte bara genom att öppnas. Risken ligger i EXEKVERING på en server: CGI-skript körs med serverns privilegier och har historiskt sett varit en stor yta för webbsårbarheter (Shellshock-buggen 2014 utnyttjades till stor del via CGI-skalskript; dåligt skrivna CGI:er möjliggör kommandoinjektion, sökvägsgenomgång och exekvering av godtycklig kod). Driftsätt aldrig en nedladdad .cgi som du inte förstår, håll tolkar och servern uppdaterade, begränsa rättigheterna för /cgi-bin/ och föredra FastCGI/app-server-alternativ för nya projekt. Behandla okänd CGI-källkod som otillförlitlig kod som bör granskas före körning.

Formatdetaljer

i ett nötskal
FULLSTÄNDIGT NAMNCommon Gateway Interface Scriptäven känd som CGI script, CGI program
UTVECKLARENCSA / CGI community (RFC 3875 documents the interface)sedan 1993 (NCSA HTTPd); formalized as CGI/1.1 in RFC 3875 (2004)
MIME-TYPapplication/x-httpd-cgi
TYPKörbart skript på serversidan (vanligtvis källkod i klartext; ibland en kompilerad binärfil)
STANDARDÖppen · royaltyfri
Detta filtillägg används också av…
  • EToys / nischad appdata som använder .cgi - Ett fåtal orelaterade applikationer har återanvänt .cgi för sina egna datafiler; på en webbserver är en .cgi nästan alltid ett gateway-skript.

Program som öppnar CGI-filer

Windows3 apps
Notepad Öppen källkod Öppna .cgi för att läsa/redigera källkoden med syntaxmarkering (Perl/Python/shell). Rätt verktyg för att inspektera eller ändra ett skript.
Visual Studio Code Gratis Öppna .cgi för fullständig redigering med språktillägg, linting och Git; den moderna redigeraren för webbskript.
Apache HTTP Server (to run it) Öppen källkod För att EXEKVERA en CGI: placera den i en CGI-aktiverad katalog (mod_cgi, /cgi-bin/), se till att tolken är installerad och att filen är körbar, anropa sedan dess URL.
macOS2 apps
BBEdit Freemium Öppna .cgi för att läsa/redigera källkoden på macOS.
Visual Studio Code Gratis Öppna .cgi för fullständig redigering med språktillägg, linting och Git; den moderna redigeraren för webbskript.
Linux2 apps
Any text editor (gedit, Vim) Öppen källkod Öppna .cgi för att läsa/redigera skriptets källkod.
The interpreter / web server Öppen källkod Kör direkt med dess tolk (perl script.cgi) för testning, eller tillhandahåll den via Apache mod_cgi / en CGI-kompatibel server. Gör den körbar med chmod +x.

Tekniska detaljer

djup specifikation
MIME-typapplication/x-httpd-cgi
Alternativa MIME-typertext/plain, application/octet-stream
FilkodningKlartext (ASCII/UTF-8) för skript; nativ binär för kompilerade körbara filer
FilsignaturInga fasta magic bytes - textskript börjar med en shebang-rad (#!/usr/bin/perl, #!/usr/bin/python3, #!/bin/sh, etc.); kompilerade CGI-binärer har plattformens huvud för körbara filer (ELF på Linux, MZ på Windows)
ExekveringsmodellWebbservern skapar en ny OS-process per HTTP-begäran för att köra skriptet eller binärfilen; processen avslutas efter att svaret har skickats
InmatningsmekanismBegäransdata levereras via miljövariabler (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE, HTTP_*-rubriker); POST-data skickas via stdin
UtmatningsmekanismSkriptet skriver HTTP-svarshuvuden (Namn: värde-rader) följt av en tom rad och själva innehållet direkt till stdout
Krav för driftsättningFilen måste ligga i en CGI-aktiverad katalog (vanligtvis /cgi-bin/) med körrättigheter (executable bit) inställda; webbserverns användare behöver läs- och körrättigheter
Typiska skriptspråkPerl, Python, Bash/shell, Ruby, C (kompilerad till en nativ binärfil)
Typisk filstorlek1 KB - 100 KB för textskript; större för kompilerade binärer
KomprimeringIngen i själva filen; HTTP-svaret kan komprimeras med gzip separat av skriptet eller servern
PlattformsstödLinux, Unix, macOS, Windows - alla operativsystem som kör en CGI-kompatibel webbserver
Vanliga webbservrarApache HTTP Server, Nginx (via FastCGI-wrapper), lighttpd, Microsoft IIS
PrestandaegenskaperLångsamt vid hög belastning - varje begäran skapar och förstör en ny process; ersatt av FastCGI, WSGI och ASGI för högpresterande miljöer
SäkerhetsövervägandenSkriptets källkod är läsbar på disken; skydda med strikta filrättigheter och undvik att exponera CGI-katalogen via en direkt URL utanför den angivna /cgi-bin/-sökvägen
Släppt1993 (NCSA HTTPd); formalized as CGI/1.1 in RFC 3875 (2004)
Senaste versionCGI/1.1 (RFC 3875, October 2004)
Öppen standardJa · royaltyfri
Specifikationwww.rfc-editor.org

CGI-konverteringar

Frågor & svar

frågat av användare
Ställ en snabb fråga
Få hjälp från personer som arbetar med CGI-filer. Var specifik - inkludera ditt system och programversion.
Inget konto behövs · svar vanligtvis inom en dag

Inga frågor än - bli den första att fråga om CGI-filer.

Vanliga frågor

Vad är en .cgi-fil?
Ett Common Gateway Interface-skript - ett program som en webbserver kör för att generera en sida dynamiskt (formulär, räknare, gamla gästböcker). Det är vanligtvis källkod i klartext (ofta Perl eller Python) och körs på servern, inte i din webbläsare.
Hur öppnar jag en .cgi-fil?
För att läsa eller redigera den, öppna den i en kodredigerare (Notepad++, VS Code, BBEdit) - det är vanligtvis textbaserad källkod. För att KÖRA den, placera den i serverns /cgi-bin/, gör den körbar och anropa dess URL; CGI-filer körs inte genom att dubbelklicka på dem.
Varför visar min webbläsare CGI-koden istället för att köra den?
Servern är inte konfigurerad att exekvera CGI på den platsen: CGI-hantering (mod_cgi) är avstängd, katalogen är inte CGI-aktiverad, filen saknar körrättigheter eller så är shebang/tolk felaktig. Placera den i /cgi-bin/ och korrigera rättigheterna.
Vilket språk är en .cgi skriven i?
Filändelsen avslöjar det inte - kontrollera första raden. En shebang som #!/usr/bin/perl, #!/usr/bin/python3 eller #!/bin/sh talar om för dig vilken tolk som används. Vissa CGI:er är kompilerade C-binärer istället för läsbar källkod.
Används CGI fortfarande?
Det fungerar fortfarande och stöds, men det betraktas som föråldrat: att starta en process per begäran är långsamt, så de flesta webbplatser har gått över till FastCGI, mod_php, WSGI/Rack-applikationsservrar och moderna ramverk. Du ser fortfarande .cgi i gamla skript och vissa kontrollpaneler för webbhotell.
Är .cgi-filer farliga?
Att öppna en i en redigerare är säkert. Att köra en okänd CGI på en server är riskabelt - CGI:er körs med serverns privilegier och har en historik av allvarliga brister (t.ex. Shellshock). Granska alltid nedladdade CGI-filer innan de används och håll din server uppdaterad.

Referenser

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

Fortsätt utforska

genom databasen

Populära filtillägg denna vecka

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)

Relaterade filtillägg

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

En filidentifierare och bildkonverterare direkt i webbläsaren - allt körs på din enhet.

Öppna verktygslådan

Bläddra bland filtillägg A-Ö