|
  
Sie
haben die Entwicklungsumgebung nun installiert oder besitzen einen
vorkonfigurierten FTP Server der CGI unterstützt? Falls ja
können Sie nun mit Ihrem ersten Programm beginnen, falls
nein sollten Sie zuerst Kapitel 2 lesen.
Unterkapitelindex
3.1 Die Eingabe Ihres Programmes
3.2 Von Anfang an richtig...
3.3 Das erste Skript
3.4 Das Skript starten
3.5 Noch Fragen?
|
|
3.1
Die Eingabe Ihres Programmes
Um Ihr Programm zu schreiben können Sie einen normalen Texteditor
wie NotePad nutzen, oder aber Sie nutzen eine Programmierumgebung
die mit Feautures wie Syntax Highlighting
aufwartet.
Die Dateien sollten lokal mit der Endung ".pl" oder auf
Webservern mit der Endung ".cgi" gespeichert werden. Sie
können natürlich auch jede andere Dateiendung nutzen,
das könnte jedoch - sofern der Server nicht korrekt konfiguriert
ist - zu Problemen führen. |
|
3.2
Von Anfang an richtig...
In vielen Referenzen und Büchern zu Perl wird am Anfang auf
das nutzen des Taint Moduses
sowie des Aktivieren von des Strict Modueses
verzichtet - Ein kapitaler Fehler.
Sie müssen den restlichen Teil des Unterkapitels nicht unbedingt
verstehen da einige Begriffe der Perl Programmierung verwendet werden
- Sie müssen nur wissen das es wichtig ist den Taint Modus
sowie den Strict Modus zu aktivieren; Der Grund wird Ihnen sicherlich
erst später klar. Wie in den Tooltips ( )
schon zu lesen handelt es sich beim Taint Modus um ein wichtiges
Sicherheits-Feauture. Jede Variable die von außen kommt wird
darin als "vergiftet" betrachtet und muss erst im Skript
kontrolliert werden.
Bei diesen Variablen handelt es sich zumeist - aber nicht ausschließlich
- um Eingaben eines Nutzers.
Beispiel: Sie möchten die Datei "<dateiname>.txt"
öffnen um diese danach anzuzeigen. Der Dateiname wird in der
URL ("test.cgi?datei=test.txt") übertragen. Das ist
kein Problem wenn es sich um einen normalen Internet Nutzer handelt
der nur den Links auf Ihrer Webseite folgt. Sollte es sich beim
Nutzer allerdings um einen (angehenden) Hacker handeln kann der
zb. auch "test.cgi?datei=../passwort.txt" eingeben. Wenn
die Datei nun von Ihrem Skript geöffnet und ausgegeben wird
hat der Hacker unter Umständen soeben eine geheime Passwortdatei
geöffnet.
Strict sollten Sie verwenden da ein Skript nicht immer nur aus einer
Datei von Ihnen besteht. Sie können einzelne Dateien hinzufügen,
und wenn in diesen Dateien dann eine Variable mit dem gleichen Namen
wie in Ihrem Skript vorhanden ist würde es ohne den Strict
Modus zu Verwechslungen zwischen den beiden Variablen kommen da
keine Variable zweimal deklariert werden kann und nicht deklarierte
Variablen einen Fehler erzeugen. |
|
3.3
Das erste Skript
Folgender Code, in einen HTML Editor eingegeben, erzeugt eine einfache
HTML Seite mit dem Text "Hello World!".
|
|
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
|
#!/usr/bin/perl -wT
use strict;
print <<"EOF";
Content-Type:text/html
<html>
<head><title>Hello World</title></head>
<body>
<center>Hello World!</center>
</body>
</html>
EOF
|
Dieser 15 Zeiler besteht im wesentlichen aus 4 Befehlen. Das Skript
beginnt mit der Anweisung "#!/usr/bin/perl -wT". Diese
veranlasst den Webserver dazu das Skript mit dem Programm "perl"
im Verzeichnis "/usr/bin/" zu starten. Sollte das Perl
Verzeichnis auf Ihrem Webserver ein anderes sein muss es entsprechend
ersetzt werden. Der Zusatz "-wT" weißt den Interpreter
an Warnungen
& den Taint Modus (s.o.) zu aktivieren.
Diese Zeile wird in Zukunft in jedem Ihrer Perl Programme obligatorisch
sein.
Die dritte Zeile weißt das Programm an, den Strict Modus (s.o.)
zu aktivieren.
Die fünte bis dreizehnte Zeile ist einer der üblichsten
Befehle in Perl Skripten überhaupt. Der Befehl "print
<<EOF;" weißt den Interpreter an alle Zeilen bis
zu den Buchstaben "EOF" auszugeben.
Der letzte Zeilenumbruch ist nötig damit kein Fehler erzeugt
wird!
In unserem Fall wären das
|
01
02
03
04
05
06
07
|
Content-type:text/html\n\n
<html>
<head><title>Hello World</title></head>
<body>
<center>Hello World!</center>
</body>
</html> |
6 der 7 Zeilen sollten
Ihnen bekannt sein wenn Sie HTML beherrschen. Die 1. Zeile dient
dazu dem Webserver zu sagen was er dem Nutzer präsentieren
soll - in diesem Fall eine HTML Seite. Danach folgen - obligatorisch
- zwei Zeilenumbrüche.. Diese Zeilen müssen in jedem Skript
das im Web laufen soll enthalten sein (!) da sonst ein Fehler erzeugt
wird.
Der Nutzer sieht natürlich am Ende nicht den HTML Code, sondern
folgenden Text:
|
|
3.4
Das Skript starten
Nun wissen
Sie grob wie ein Skript auszusehen hat und wie man es eingibt. Der
letzte Schritt fehlt jedoch noch - Das hochladen des Skriptes. Dazu
bauen Sie bitte zuerst eine FTP
Verbindung zu Ihrem Webserver
auf. Nun laden Sie die Datei (zb. "test.cgi") im ASCII
Modus
hoch. Erstellen Sie vorher ein Verzeichnis "cgi-bin" in
das Sie die Datei hochladen. Das ist auf manchen Webservern nötig.
Nun hat der Webserver die Datei empfangen, aber die Unix Rechte
verbieten Ihm noch das Programm auszuführen. Der letzte Schritt
ist es also den CHMOD Befehl
mit den Werten "755" auf die Datei anzuwenden. Das erlaubt
es dem Server nun Ihre Datei auszuführen.
Sie können nun die Datei nun über das Internet aufrufen.
Sollten Sie das Programm auf einem lokalen (Windows) Webserver ausführen
wollen ist das hochladen natürlich nicht nötig. Genausowenig
ist ein CHMOD nötig, Sie können das Skript einfach über
Ihren Webserver (bspw. "http://127.0.0.1/cgi-bin/test.cgi")
aufrufen. |
|
3.5
Noch Fragen?
Sollten
Sie Probleme mit dem Einrichten eines Skriptes haben empfehle Ich
Ihnen Kapitel 2 nochmals durchzuarbeiten, da stehen alle Vorgänge
genauer beschrieben.
Desweiteren steht dort welche Programme Sie benötigen und wie
diese zu bedienen sind.
 
|