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