.CGI

CGI-fil

Common Gateway Interface Script
Still et spørsmål
HURTIGSVAR

En CGI-fil er et Common Gateway Interface-skript - et program en webserver kjører for å generere en side dynamisk (skjemabehandlere, tellere, gamle gjestebøker). Det er vanligvis kildekode i ren tekst, oftest Perl eller Python, så du kan åpne den i hvilken som helst kodeeditor for å lese eller redigere den. Den kjører ikke i nettleseren din: for å utføre den må du legge den i serverens /cgi-bin/-mappe, gjøre den kjørbar, og serveren kjører den når en nettleser forespør den aktuelle URL-en.

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

På denne siden

19k+ filendelser indeksert
Sist vurdert Jul 10, 2026

Usikker på hva filen din er?

Slipp hvilken som helst fil inn i vår identifikator - vi leser bare de første bytene for å navngi formatet.

Identifiser en fil

Hva er CGI-filformatet?

Filendelsen .cgi står for Common Gateway Interface - en standardmetode for å generere webapplikasjoner og dynamisk innhold på nettsider. Når .cgi-filendelsen brukes på en webserver, fungerer den som et grensesnitt mellom kjørbare programmer og webserveren som genererer nettstedets innhold. Alle slike programmer kalles CGI-er eller CGI-skript.

Disse filene er vanligvis skrevet i et skriptspråk som Perl, Python eller shell-skript, selv om en .cgi-fil like gjerne kan være en kompilert binærfil (for eksempel et C-program). Selve filendelsen sier ingenting om språket inni - «shebang»-linjen helt øverst i skriptet, som #!/usr/bin/perl eller #!/usr/bin/python3, forteller webserveren hvilken tolk (interpreter) som skal kalles.

Et CGI-skript kjører på serveren én gang per innkommende HTTP-forespørsel. Det leser forespørselsdata fra miljøvariabler (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE) og godtar POST-data via stdin, for så å skrive et HTTP-svar - headere etterfulgt av innhold - direkte til stdout. For å fungere må filen plasseres i en CGI-aktivert mappe (tradisjonelt /cgi-bin/) og ha kjøretillatelse satt på serveren.

.cgi er en grensesnittstandard, ikke et programmeringsspråk. Flere andre filformater deler .cgi-endelsen: .pl, .py eller .sh-skript blir ofte omdøpt til .cgi slik at webserveren ruter dem gjennom CGI-mekanismen. Fordi CGI starter en ny prosess for hver forespørsel, er det tregt ved stor trafikk, og det har i stor grad blitt erstattet av FastCGI, mod_php, WSGI og moderne applikasjonsservere - selv om det fortsatt støttes på de fleste webservere i dag.

Sikkerhet og trygghet

RISIKO: MEDIUM

Å lese en .cgi i en tekstredigerer er trygt - den kjører ikke ved å bli åpnet. Risikoen ligger i UTFØRELSE på en server: CGI-skript kjører med serverens privilegier og har historisk sett vært en stor kilde til sårbarheter (Shellshock-feilen i 2014 ble i stor grad utnyttet via CGI-shellskript; dårlig skrevne CGI-er muliggjør kommandoinjeksjon, «path traversal» og kjøring av vilkårlig kode). Distribuer aldri en nedlastet .cgi du ikke forstår, hold tolker og serveren oppdatert, begrens tillatelser i /cgi-bin/, og foretrekk FastCGI/app-server-alternativer for nytt arbeid. Behandle ukjent CGI-kildekode som upålitelig kode som må gjennomgås før kjøring.

Formatdetaljer

i et nøtteskall
FULLT NAVNCommon Gateway Interface Scriptogså kjent som CGI script, CGI program
UTVIKLERNCSA / 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
TYPEKjørbart skript på serversiden (vanligvis kildekode i ren tekst; noen ganger en kompilert binærfil)
STANDARDÅpen · royalty-fri
Denne filendelsen brukes også av…
  • EToys / nisje-appdata som bruker .cgi - Noen få urelaterte applikasjoner har gjenbrukt .cgi for sine egne datafiler; på en webserver er en .cgi nesten alltid et gateway-skript.

Programmer som åpner CGI-filer

Windows3 apps
Notepad Åpen kildekode Åpne .cgi for å lese/redigere kildekoden med syntaksutheving (Perl/Python/shell). Det rette verktøyet for å inspisere eller endre et skript.
Visual Studio Code Gratis Åpne .cgi for full redigering med språkutvidelser, linting og Git; den moderne editoren for webskript.
Apache HTTP Server (to run it) Åpen kildekode For å UTFØRE en CGI: plasser den i en CGI-aktivert mappe (mod_cgi, /cgi-bin/), sørg for at tolken er installert og at filen er kjørbar, og forespør deretter URL-en.
macOS2 apps
BBEdit Freemium Åpne .cgi for å lese/redigere kildekoden på macOS.
Visual Studio Code Gratis Åpne .cgi for full redigering med språkutvidelser, linting og Git; den moderne editoren for webskript.
Linux2 apps
Any text editor (gedit, Vim) Åpen kildekode Åpne .cgi for å lese/redigere skriptets kildekode.
The interpreter / web server Åpen kildekode Kjør direkte med tolken (perl script.cgi) for testing, eller tjen den via Apache mod_cgi / en CGI-kapabel server. Gjør den kjørbar med chmod +x.

Tekniske detaljer

dyp spesifikasjon
MIME-typeapplication/x-httpd-cgi
Alternative MIME-typertext/plain, application/octet-stream
FilkodingRen tekst (ASCII/UTF-8) for skript; nativ binær for kompilerte kjørbare filer
FilsignaturIngen faste «magic bytes» - tekstskript starter med en shebang-linje (#!/usr/bin/perl, #!/usr/bin/python3, #!/bin/sh, osv.); kompilerte CGI-binærfiler har plattformens kjørbare header (ELF på Linux, MZ på Windows)
KjøringsmodellWebserveren forker en ny OS-prosess per HTTP-forespørsel for å kjøre skriptet eller binærfilen; prosessen avsluttes etter at svaret er sendt
InndatamekanismeForespørselsdata leveres via miljøvariabler (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE, HTTP_*-headere); POST-body sendes via stdin
UtndatamekanismeSkriptet skriver HTTP-svarheadere (Navn: verdi-linjer) etterfulgt av en tom linje og svarinnholdet direkte til stdout
Påkrevd distribusjonFilen må ligge i en CGI-aktivert mappe (vanligvis /cgi-bin/) med kjøretillatelse satt; webserver-brukeren trenger lese- og kjøretilgang
Typiske skriptspråkPerl, Python, Bash/shell, Ruby, C (kompilert til en nativ binærfil)
Typisk filstørrelse1 KB - 100 KB for tekstskript; større for kompilerte binærfiler
KomprimeringIngen i selve filen; HTTP-svarinnholdet kan være gzip-komprimert separat av skriptet eller serveren
PlattformstøtteLinux, Unix, macOS, Windows - alle operativsystemer som kjører en CGI-kapabel webserver
Vanlige webservereApache HTTP Server, Nginx (via FastCGI-wrapper), lighttpd, Microsoft IIS
YtelseskarakteristikkTreg ved stor skala - hver forespørsel starter og avslutter en ny prosess; erstattet av FastCGI, WSGI og ASGI for installasjoner med høy trafikk
SikkerhetshensynSkriptkilden er lesbar på disk; beskytt med strenge filtillatelser og unngå å eksponere CGI-mappen via en direkte URL utenfor den angitte /cgi-bin/-stien
Utgitt1993 (NCSA HTTPd); formalized as CGI/1.1 in RFC 3875 (2004)
Siste versjonCGI/1.1 (RFC 3875, October 2004)
Åpen standardJa · royalty-fri
Spesifikasjonwww.rfc-editor.org

CGI-konverteringer

Spørsmål og svar fra fellesskapet

spurt av brukere
Still et raskt spørsmål
Få hjelp fra folk som jobber med CGI-filer. Vær spesifikk - inkluder systemet ditt og programvareversjon.
Ingen konto nødvendig · svar vanligvis innen en dag

Ingen spørsmål ennå - vær den første til å spørre om CGI-filer.

Ofte stilte spørsmål

Hva er en .cgi-fil?
Et Common Gateway Interface-skript - et program en webserver kjører for å generere en side dynamisk (skjemaer, tellere, gamle gjestebøker). Det er vanligvis kildekode i ren tekst (ofte Perl eller Python) og kjører på serveren, ikke i nettleseren din.
Hvordan åpner jeg en .cgi-fil?
For å lese eller redigere den, åpne den i en kodeeditor (Notepad++, VS Code, BBEdit) - det er vanligvis tekstkildekode. For å KJØRE den, legg den i serverens /cgi-bin/, gjør den kjørbar og forespør URL-en; CGI-er kjører ikke ved å dobbeltklikke på dem.
Hvorfor viser nettleseren min CGI-koden i stedet for å kjøre den?
Serveren er ikke konfigurert til å utføre CGI på det stedet: CGI-håndtering (mod_cgi) er av, mappen er ikke CGI-aktivert, filen mangler kjøretillatelse, eller shebang/tolk er feil. Plasser den i /cgi-bin/ og fiks tillatelsene.
Hvilket språk er en .cgi skrevet i?
Filendelsen sier det ikke - sjekk den første linjen. En shebang som #!/usr/bin/perl, #!/usr/bin/python3 eller #!/bin/sh forteller deg tolken. Noen CGI-er er kompilerte C-binærfiler i stedet for lesbar kildekode.
Er CGI fortsatt i bruk?
Det fungerer fortsatt og er støttet, men det regnes som utdatert: å starte en prosess per forespørsel er tregt, så de fleste nettsteder har gått over til FastCGI, mod_php, WSGI/Rack-appservere og moderne rammeverk. Du vil fortsatt se .cgi i gamle skript og enkelte kontrollpaneler for hosting.
Er .cgi-filer farlige?
Det er trygt å åpne en i en editor. Å kjøre en upålitelig CGI på en server er risikabelt - CGI-er kjører med serverprivilegier og har en historikk med alvorlige sårbarheter (f.eks. Shellshock). Gå gjennom alle nedlastede CGI-er før de tas i bruk, og hold serveren din oppdatert.

Referanser

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

Utforsk videre

på tvers av databasen

Populære filendelser denne uken

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.M4AMPEG-4 Audio File
5.EXEWindows Executable (Portable Executable)
6.ICSiCalendar data file
7.DATProgram Data File (generic)
8.RPMSGRestricted Permission Message
9.JSONJavaScript Object Notation file
10.ODTOpenDocument Text

Relaterte filendelser

.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 filverktøy

En filidentifikator og bildekonvertering i nettleseren - alt kjører på din enhet.

Åpne verktøykassen

Bla i filendelser A-Å