Einführung
CGI= Common Gateway Interface ("allgemeine Datenaustausch-Schnittstelle"). Schnittstelle für den Austausch von Informationen zwischen einem Server und einem CGI-kompatiblen Programm. Konkret bedeutet das z.B., dass Webseiten dynamisch erzeugt oder verändert und somit auf dem Server gespeichert werden können. Damit werden dann Anwendungen wie Suchfunktionen, Shopping per Internet (Warenkorb etc.), Gästebücher, Foren, Counter, Suchfunktionen, Umfragen und vieles mehr möglich.
Die meisten CGI- Anwendungen sind in Perl (Practical Extraction and Report Language, 1987 von Larry Wall erfunden) geschrieben.
CGI wird serverseitig ausgeführt. Für das lokale Testen muss wie bei Server Side Includes (SSI) ein lokaler Webserver installiert werden, für die Ausführung von Perl zudem ein Perl-Interpreter.
Einige Facts zu Perl (SELFHTML)
- Perl- Dateien sind ASCII- Dateien, die mit jedem einfachen Texteditor erstellt und geändert werden können.
- Perl ist eine Scriptsprache. Sie werden nicht für ein bestimmtes Betriebssystem compiliert, sondern von einem installierten Interpreter verarbeitet. Nachteil: Scripts sind langsamer und eignen sich daher für kleinere Aufgaben, compilierte Programme sind leistungsfähiger. Vorteil: Scripts brauchen nicht für eine bestimmte Umgebung compiliert zu werden, einzige Voraussetzung ist ein Interpreter:
- Zitat: "Perl ist noch immer die meistbenutzte Programmiersprache für CGI-Scripts. Der Grund dafür ist, daß Perl sehr mächtige Funktionen besitzt, z.B. für Zeichenkettenoperationen oder für das Lesen und Schreiben von Daten."
- Zweites Zitat: "Wenn Sie in einer anderen Programmiersprache, z.B. in C, Pascal oder Fortran, bereits viel Erfahrung haben, können Sie auch diese Sprachen für CGI-Programme verwenden. Das Problem bei diesen Sprachen ist, daß der damit erstellte Code erst ausführbar ist, nachdem er für die Betriebssystemumgebung compiliert und gelinkt wurde, unter der er ausführbar sein soll. Wenn Sie beispielsweise ein C-Programm schreiben und dieses Programm als CGI-Programm im WWW auf einem Server-Rechner mit Unix-Betriebssystem zum Einsatz bringen wollen, muß das Programm unter Unix compiliert werden. Ein C-Compiler, den Sie vielleicht auf Ihrem DOS/Windows-PC haben, nutzt Ihnen da nichts."
- Perl Sprachelemente? (SelfHTML) | Sprachelemente 2 (Zusammenfassung nach SelfHTML)
Möglichkeiten, um ein CGI- Skript aufzurufen
- Formular. Beispiele: Gästebuch, Suchfunktion, Shopping. siehe auch: SelfHTML: Formulare und CGI / get und post | Formulare definieren
- Link. Sinnvoll, wo keine Benutzereingabe nötig ist, z.B. bei Zugriffsstatistiken.
- als Grafik. Beispiel : <img src="/cgi-bin/countress.pl">). Eingesetzt z.B. bei grafikbasierenden Countern.
- als SSI. Beispiel: <!-- #exec cgi="/cgi-bin/countress.pl" -->
Skripte installieren
Drei Sachen müssen bei der Installation von CGI-Skripten besonders beachtet werden:
- Variablen und Design anpassen.
- Skripte, z.B. Perl, im ASCII-Modus uploaden-
compilierte Programme im binären! (WS_FTP: 'Auto' anpassen)
- Zugriffsrechte ändern.
r= read= 5, w= write= 2, x= execute= 1.
rwxr-xr-x ist gleich chmod 755, rwxrwxr-x chmod 775, rw-rw-rw- chmod 644 usw.
(WS_FTP: Rechtsklick Datei/Verzeichnis- chmod [nur auf UNIX-Servern, ansonsten [Secure] Telnet nötig])
Links