Perl-Scripte einbinden in Webseiten mit SHTML-Dateien
Wer viel Internetseiten erstellt und Perl verwendet, hat immer zu überlegen, wie er die Scripte ein die Webseite einbaut.
Mir fallen dazu zwei Wege ein:
Direkter Aufruf des Scriptes mit z.B.: http://dingens.de/cgi-bin/testscript.pl
oder
per SHTML
Und genau das möchte ich hier beschreiben
Was ist eine SHTML-Datei?
Nun, eine SHTML-Datei ist eigentlich eine ganz normale HTML-Datei, nur daß man eben angeben kann, daß zusätzlich statische oder dynamische Inhalte eingefügt werden. Dies erfolgt dann ganz automatisch auf dem Server und der User merkt nix davon.
Vergleichen kann man das mit PHP, bei dem ja auch automatisch der Code, der in der Seite enthalten ist, ausgeführt wird.
Es gibt für SHTML einige relavante Befehle, ich beschränke mit hier aber auf die beiden Wichtigsten: include
exec
Fügt man eine der beiden Zeilen in eine SHTML-Datei ein, so wird beim Aufruf der Datei automatisch das angegebene Script gestartet und verarbeitet.
Dabei ergeben sich zwei Unterschiede:
Bei include wird hinter dem Script eine Liste von Parametern angegeben, die das Script verarbeitet. Bei exec holt sich das Script diese Parameter aus der Umgebung, d.h. wenn beim Aufruf einer Datei, sagen wird test.shtml, de Aufruf erfolgt per: http://www.domain.de/test.shtml?id=1, so kann der Parameter id ausgelesen werden. Da diese Parameter also dynamisch vom Webbrowser übergeben werden sind sie wesentlicher flexibler als bei include.
Einen Haken hat die Sache allerdings:
Bei SHTML-Seiten kann man als Methode nur GET verwenden, das bedeutet, daß lange Parameter nicht verwendet werden können, da GET bei 1024 Byte abbricht.
Und noch was wichtiges:
Falls Sie es erlauben, daß User-Einträge auf Ihrer Seite ausgegeben werden, zum Beispiel in einem Gästebuch, löschen Sie unbedingt Eingaben, die <!-- --> enthalten. Durch solche Eingaben könnte Ihr Server manipuliert werden!