BananaJoes Apache2 SSI
Die Aufgabe der Server Side Includes (SSI) besteht darin,
Aktionen auslösende Anweisungen in die Dokumente
einzubinden.
Dergleichen kann man zwar auch über CGI Skripte erreichen,
doch mittels SSI ist der nötige Aufwand oft wesentlich
geringer.
Die Anwendungsmöglichkeiten sind riesig.
Direktiven
Um SSI nutzen zu können, müssen diese Direktiven in
der httpd.conf angegeben werden.
AddOutputFilter INCLUDES .shtml
Options Includes
AddType text/html .shtml
Dies erfolgt an folgenden Stellen in der httpd.conf, die wie folgt
gekennzeichnet sind:
<Directory "F:/Apache2/htdocs">
#
# Possible values for the Options directive
are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks
SymLinksifOwnerMatch ExecCGI Multiviews
#
# Note that "MultiViews" must be
named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated
and important. Please see
#
http://httpd.apache.org/docs-2.0/mod/core.html#options
# for more information.
#
Options Indexes Includes
FollowSymLinks <---- dies ist die
entsprechende Zeile für die Options Direktive
# file mime.types for specific file types.
#
AddType application/x-tar .tgz
AddType text/html .shtml <---- dies ist die entsprechende Zeile für die AddType Direktive
# (You will also need to add "Includes" to the "Options" directive.)
#
AddOutputFilter INCLUDES .shtml <---- bei dieser Zeile braucht i.R. nur die Auskommentierung entfernt werden
Mit AddType text/html .shtml und
AddOutputFilter INCLUDES .shtml teilen
wir dem Webserver mit, dass alle Dateien mit der Endung .shtml
durch den SSI-Prozessor geparst werden. Es ist auch jede andere
Endung möglich, wie z.B. .ssi oder .banana, aber eher
unüblich, da im allgemeinen .shtml als Standard eingerichtet
ist.
Options Includes aktiviert die
Verarbeitung von SSI's
Diese Direktiven können auch mittels des .htaccess Mechanismus übergeben werden.
Hiermit ist die Verwendung von SSI's mit dem Apache Webserver fertig eingerichtet.
Aber wie benutzen wir SSI?
Wir geben in dem .shtml Dokument eine spezielle Folge von Strings
ein, die der Apache Webserver bei der Rückgabe mit
Referenzstrings vergleicht, und durch dynamisch generierte
Nachrichten ersetzt.
Diese Strings besitzen ein eigenes Format, damit sie nicht mit
anderen Dingen verwechselt werden können.
Die Syntax eines SSI Befehls (des oben angesprochenen Strings)
lautet:
<!--#element attribut=wert attribut=wert
... -->
In der folgenden Tabelle sind die einzelnen Elemente mit ihren
möglichen Attributen aufgeführt.
Elemente
| Element | Attribut | ||||||
| config |
|
||||||
| echo |
|
||||||
| exec |
|
||||||
| cmd |
|
||||||
| fsize |
|
||||||
| flastmod |
|
||||||
| include |
|
Beispiele
Ein paar Beispiele :
Die Größe einer Datei ausgeben:
Mit dem fsize Befehl kann die Größe einer Datei
innerhalb des Dokumentes ausgegeben werden.
<!--#config errmsg="Ein Fehler ist
aufgetreten!"-->
<!--#config
sizefmt="bytes"-->
Die Datei bananajoe.jpg ist
<!--#fsize="bananajoe.jpg"-->
groß.
Mittels des Include Befehls kann eine Datei in eine andere
eingebettet werden.
<!--#config errmsg="Ein Fehler ist
aufgetreten!"-->
Der folgende Text wurde aus der Datei
blabla.txt eingebunden:
<< <!--#include
virtual="blabla.txt"--> >>
Beispiele als .zip herunterladen.