.CGI

Plik CGI

Common Gateway Interface Script
Zadaj pytanie
SZYBKA ODPOWIEDŹ

Plik CGI to skrypt Common Gateway Interface - program uruchamiany przez serwer WWW w celu dynamicznego generowania strony (obsługa formularzy, liczniki, stare księgi gości). Zazwyczaj jest to kod źródłowy w formacie tekstowym, najczęściej w języku Perl lub Python, więc można go otworzyć w dowolnym edytorze kodu, aby go przeczytać lub edytować. Nie uruchamia się on w przeglądarce: aby go wykonać, należy umieścić go w katalogu /cgi-bin/ na serwerze, nadać mu uprawnienia do wykonywania, a serwer uruchomi go, gdy przeglądarka zażąda danego adresu URL.

Deweloper: NCSA / CGI community (RFC 3875 documents the interface) Kategoria: Pliki wykonywalne Otwarty standard MIME: application/x-httpd-cgi
OTWIERA SIĘ NA Windows macOS Linux
Powiązane: .APK · .EXE · .VBS · .JAR

Na tej stronie

Zindeksowano 19k+ rozszerzeń
Ostatnia weryfikacja Jul 10, 2026

Nie wiesz, co to za plik?

Przeciągnij dowolny plik do naszego identyfikatora - odczytujemy tylko pierwsze bajty, aby nazwać format.

Zidentyfikuj plik

Co to jest format pliku CGI?

Rozszerzenie .cgi oznacza Common Gateway Interface - standardowe podejście do generowania aplikacji internetowych i dynamicznej zawartości na stronach WWW. Rozszerzenie .cgi, gdy jest stosowane na serwerze WWW, zapewnia interfejs między programami wykonywalnymi a serwerem WWW, który generuje zawartość witryny. Wszystkie takie programy nazywane są skryptami CGI.

Pliki te są zazwyczaj pisane przy użyciu języka skryptowego, takiego jak Perl, Python lub shell script, choć plik .cgi może być również skompilowanym plikiem binarnym (na przykład programem w C). Samo rozszerzenie nie mówi nic o języku znajdującym się wewnątrz - linia shebang na samej górze skryptu, taka jak #!/usr/bin/perl lub #!/usr/bin/python3, informuje serwer WWW, który interpreter należy wywołać.

Skrypt CGI uruchamia się na serwerze raz dla każdego przychodzącego żądania HTTP. Odczytuje dane żądania ze zmiennych środowiskowych (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE) i akceptuje dane treści POST przez stdin, a następnie zapisuje odpowiedź HTTP - nagłówki, a po nich treść - bezpośrednio do stdout. Aby działać, plik musi znajdować się w katalogu z obsługą CGI (tradycyjnie /cgi-bin/) i mieć ustawione uprawnienia do wykonywania na serwerze.

.cgi to standard interfejsu, a nie język programowania. Kilka innych formatów plików współdzieli rozszerzenie .cgi: skrypty .pl, .py lub .sh są często zmieniane na .cgi, aby serwer WWW kierował je przez mechanizm CGI. Ponieważ CGI tworzy nowy proces dla każdego żądania, jest wolny przy dużej skali i został w dużej mierze zastąpiony przez FastCGI, mod_php, WSGI oraz nowoczesne serwery aplikacji - choć do dziś pozostaje obsługiwany przez większość serwerów WWW.

Bezpieczeństwo

RYZYKO: MEDIUM

Czytanie pliku .cgi w edytorze tekstu jest bezpieczne - nie zostanie on uruchomiony przez samo otwarcie. Ryzyko wiąże się z WYKONANIEM na serwerze: skrypty CGI działają z uprawnieniami serwera i historycznie stanowią dużą powierzchnię podatności (błąd Shellshock z 2014 roku był wykorzystywany głównie przez skrypty powłoki CGI; źle napisane CGI umożliwiają wstrzykiwanie poleceń, path traversal i wykonywanie dowolnego kodu). Nigdy nie wdrażaj pobranego pliku .cgi, którego nie rozumiesz, dbaj o aktualizacje interpreterów i serwera, ogranicz uprawnienia do /cgi-bin/ i preferuj alternatywy takie jak FastCGI/serwery aplikacji w nowych projektach. Traktuj nieznane źródło CGI jako niezaufany kod wymagający przeglądu przed uruchomieniem.

Szczegóły formatu

w pigułce
PEŁNA NAZWACommon Gateway Interface Scriptznany również jako CGI script, CGI program
DEWELOPERNCSA / CGI community (RFC 3875 documents the interface)od 1993 (NCSA HTTPd); formalized as CGI/1.1 in RFC 3875 (2004)
TYP MIMEapplication/x-httpd-cgi
TYPWykonywalny skrypt po stronie serwera (zazwyczaj tekstowy kod źródłowy; czasami skompilowany plik binarny)
STANDARDOtwarty · bezpłatny
To rozszerzenie jest również używane przez…
  • EToys / niszowe dane aplikacji używające .cgi - Kilka niepowiązanych aplikacji użyło rozszerzenia .cgi dla własnych plików danych; na serwerze WWW .cgi to prawie zawsze skrypt gateway.

Programy otwierające pliki CGI

Windows3 apps
Notepad Open-source Otwórz .cgi, aby czytać/edytować źródło z podświetlaniem składni (Perl/Python/shell). Odpowiednie narzędzie do inspekcji lub modyfikacji skryptu.
Visual Studio Code Darmowy Otwórz .cgi do pełnej edycji z rozszerzeniami językowymi, lintingiem i Git; nowoczesny edytor skryptów internetowych.
Apache HTTP Server (to run it) Open-source Aby WYKONAĆ CGI: umieść go w katalogu z obsługą CGI (mod_cgi, /cgi-bin/), upewnij się, że interpreter jest zainstalowany, a plik jest wykonywalny, a następnie wywołaj jego adres URL.
macOS2 apps
BBEdit Freemium Otwórz .cgi, aby czytać/edytować źródło w systemie macOS.
Visual Studio Code Darmowy Otwórz .cgi do pełnej edycji z rozszerzeniami językowymi, lintingiem i Git; nowoczesny edytor skryptów internetowych.
Linux2 apps
Any text editor (gedit, Vim) Open-source Otwórz .cgi, aby czytać/edytować kod źródłowy skryptu.
The interpreter / web server Open-source Uruchom bezpośrednio za pomocą interpretera (perl script.cgi) w celu testowania lub udostępnij przez Apache mod_cgi / serwer obsługujący CGI. Nadaj uprawnienia do wykonywania za pomocą chmod +x.

Szczegóły techniczne

specyfikacja
Typ MIMEapplication/x-httpd-cgi
Alternatywne typy MIMEtext/plain, application/octet-stream
Kodowanie plikuZwykły tekst (ASCII/UTF-8) dla skryptów; natywny plik binarny dla skompilowanych plików wykonywalnych
Sygnatura plikuBrak stałych magicznych bajtów - skrypty tekstowe zaczynają się od linii shebang (#!/usr/bin/perl, #!/usr/bin/python3, #!/bin/sh itp.); skompilowane pliki binarne CGI posiadają nagłówek wykonywalny platformy (ELF na Linux, MZ na Windows)
Model wykonywaniaSerwer WWW tworzy nowy proces systemu operacyjnego dla każdego żądania HTTP w celu uruchomienia skryptu lub pliku binarnego; proces kończy się po wysłaniu odpowiedzi
Mechanizm wejściowyDane żądania dostarczane przez zmienne środowiskowe (QUERY_STRING, REQUEST_METHOD, CONTENT_TYPE, nagłówki HTTP_*); treść POST przekazywana przez stdin
Mechanizm wyjściowySkrypt zapisuje nagłówki odpowiedzi HTTP (linie Nazwa: wartość), po których następuje pusta linia i treść odpowiedzi bezpośrednio do stdout
Wymagane wdrożeniePlik musi znajdować się w katalogu z obsługą CGI (zwyczajowo /cgi-bin/) z ustawionym bitem wykonywalności; użytkownik serwera WWW potrzebuje uprawnień do odczytu i wykonywania
Typowe języki skryptowePerl, Python, Bash/shell, Ruby, C (skompilowany do natywnego pliku binarnego)
Typowy rozmiar pliku1 KB - 100 KB dla skryptów tekstowych; większy dla skompilowanych plików binarnych
KompresjaBrak w samym pliku; treść odpowiedzi HTTP może być kompresowana gzip oddzielnie przez skrypt lub serwer
Obsługa platformLinux, Unix, macOS, Windows - dowolny system operacyjny z serwerem WWW obsługującym CGI
Popularne serwery WWWApache HTTP Server, Nginx (przez wrapper FastCGI), lighttpd, Microsoft IIS
Charakterystyka wydajnościNiska przy dużej skali - każde żądanie tworzy i niszczy nowy proces; zastąpione przez FastCGI, WSGI i ASGI w przypadku wdrożeń o dużym natężeniu ruchu
Kwestie bezpieczeństwaŹródło skryptu jest czytelne na dysku; należy je chronić rygorystycznymi uprawnieniami do plików i unikać udostępniania katalogu CGI przez bezpośredni adres URL poza wyznaczoną ścieżką /cgi-bin/
Wydano1993 (NCSA HTTPd); formalized as CGI/1.1 in RFC 3875 (2004)
Najnowsza wersjaCGI/1.1 (RFC 3875, October 2004)
Otwarty standardTak · bezpłatny (royalty-free)
Specyfikacjawww.rfc-editor.org

Konwersje CGI

Pytania i odpowiedzi społeczności

pytania użytkowników
Zadaj szybkie pytanie
Uzyskaj pomoc od osób pracujących z plikami CGI. Bądź precyzyjny - podaj system i wersję oprogramowania.
Konto nie jest wymagane · odpowiedzi zazwyczaj w ciągu doby

Brak pytań - bądź pierwszą osobą, która zapyta o pliki CGI.

Najczęściej zadawane pytania

Co to jest plik .cgi?
To skrypt Common Gateway Interface - program uruchamiany przez serwer WWW w celu dynamicznego generowania strony (formularze, liczniki, stare księgi gości). Zazwyczaj jest to tekstowy kod źródłowy (często Perl lub Python) i działa na serwerze, a nie w przeglądarce.
Jak otworzyć plik .cgi?
Aby go przeczytać lub edytować, otwórz go w edytorze kodu (Notepad++, VS Code, BBEdit) - zazwyczaj jest to źródło tekstowe. Aby go URUCHOMIĆ, umieść go w katalogu /cgi-bin/ na serwerze, nadaj mu uprawnienia do wykonywania i wywołaj jego adres URL; plików CGI nie uruchamia się poprzez dwukrotne kliknięcie.
Dlaczego moja przeglądarka wyświetla kod CGI zamiast go uruchamiać?
Serwer nie jest skonfigurowany do wykonywania CGI w tej lokalizacji: obsługa CGI (mod_cgi) jest wyłączona, katalog nie ma włączonego CGI, plik nie ma uprawnień do wykonywania lub linia shebang/interpreter jest błędna. Umieść go w /cgi-bin/ i popraw uprawnienia.
W jakim języku napisany jest plik .cgi?
Rozszerzenie tego nie określa - sprawdź pierwszą linię. Shebang typu #!/usr/bin/perl, #!/usr/bin/python3 lub #!/bin/sh informuje o interpreterze. Niektóre pliki CGI to skompilowane pliki binarne C zamiast czytelnego kodu źródłowego.
Czy CGI jest nadal używane?
Nadal działa i jest obsługiwane, ale jest to rozwiązanie przestarzałe: uruchamianie procesu dla każdego żądania jest wolne, więc większość witryn przeniosła się na FastCGI, mod_php, serwery aplikacji WSGI/Rack i nowoczesne frameworki. Rozszerzenie .cgi nadal można spotkać w starych skryptach i niektórych panelach hostingowych.
Czy pliki .cgi są niebezpieczne?
Otwieranie ich w edytorze jest bezpieczne. Uruchamianie niezaufanego CGI na serwerze jest ryzykowne - skrypty CGI działają z uprawnieniami serwera i mają historię poważnych luk (np. Shellshock). Przejrzyj każdy pobrany plik CGI przed wdrożeniem i dbaj o aktualizacje serwera.

Źródła

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

Odkrywaj dalej

w całej bazie danych

Najpopularniejsze rozszerzenia w tym tygodniu

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.DATProgram Data File (generic)
4.PARTPartial Download File
5.BINCD/DVD Disc Image (BIN/CUE)
6.EXEWindows Executable (Portable Executable)
7.RPMSGRestricted Permission Message
8.NOMEDIAAndroid No-Media Marker File
9.MDMarkdown Document
10.TXTPlain Text File

Powiązane rozszerzenia

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

Darmowe narzędzia do plików

Identyfikator plików i konwerter obrazów w przeglądarce - wszystko działa na Twoim urządzeniu.

Otwórz przybornik

Przeglądaj rozszerzenia plików A-Z