.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.BINCD/DVD Disc Image (BIN/CUE)
5.RPMSGRestricted Permission Message
6.MDMarkdown Document
7.NOMEDIAAndroid No-Media Marker File
8.PRO6XProPresenter 6 Bundle File
9.PRDXSoftMaker Presentations Document
10.EXEWindows Executable (Portable Executable)

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-Å