SSI Beispiele - Teil 3

  • Für die Nutzung von Server-Side Includes (SSI) ist es mitunter hilfreich, einige Beispiele zur Hand zu haben. Hier habe ich einige wichtige Anweisungen für SSI's angegeben. Dies soll dabei jedoch kein Tutorial oder eine Dokumentation ersetzen. Zwei Beispiele hierfür sind die Beschreibungen im SelfHTML-Kompendium [1] und bei Ideenreich.com [2]. Teil 1 - Einbinden von Dateien. Teil 2 - Verschiedene Zeiten ausgeben. Teil 3 - CGI-Skripte mit SSI einbinden Diverse Teil. 4 - Environment-Variablen CGI-Skripte können auf zweierlei Weisen in ein SSI-Dokument eingebunden werden: Mittels des SSI-Tags<!--#exec cgi="(CGI-Programm)" -->oder mittels des Tags<!--#include virtual="(CGI-Programm)" -->. Da aber ins besonders exec cgi/cmd es den Erstellern der Webseiten erlaubt, beliebige Programme zu starten, ist dies vielen Systemadministratoren - zu recht - zu gefährlich, so dass diese Flags meist disabled sind. Um den Flag zu disablen muss die Option IncludesNOEXEC gesetzt werden. Der Unterschied bei der Benutzung der beiden Flags für CGI-Programme besteht darin, dass mit Hilfe von include virtual auch Parameter übergeben werden können. Bei exec cgi ist die Übergabe von Parametern an das Programm nicht möglich. Falls die Option IncludesNOEXEC gesetzt ist, können auch mit include virtual keine Programme gestartet werden. Einbinden eines CGI-Skripts mit <!--#exec cgi="/cgilocal/ssi-samples/ssi-sample.pl" --> Dasselbe Skript, mit den Versuch, einen Parameter zu übergeben: <!--#exec cgi="/cgilocal/ssi-samples/ssi-sample.pl?blafasel" --> Wieder ein Versuch, diesmal mit PATH_INFO:<!--#exec cgi="/cgilocal/ssi-samples/ssi-sample.pl/blafasel" --> Nun nehmen wir include virtual...Einbinden eines CGI-Skripts mit <!--#include virtual="/cgilocal/ssi-samples/ssi-sample.pl" --> Dasselbe Skript, mit den Versuch, einen Parameter zu übergeben: <!--#include virtual="/cgilocal/ssi-samples/ssi-sample.pl?blafasel" --> Und nun übergeben wir PATHINFO und Parameter zusammen: <!--#include virtual="/cgilocal/ssi-samples/ssi-sample.pl/blafasel?blub" -->