{"id":662,"date":"2024-10-28T03:52:56","date_gmt":"2024-10-28T02:52:56","guid":{"rendered":"https:\/\/www.vautron.de\/blog\/?p=662"},"modified":"2024-11-25T04:22:04","modified_gmt":"2024-11-25T03:22:04","slug":"was-sind-server-side-includes","status":"publish","type":"post","link":"https:\/\/www.vautron.de\/blog\/was-sind-server-side-includes","title":{"rendered":"Was sind Server Side Includes?"},"content":{"rendered":"\n<p><strong>Urspr\u00fcnglich diente die Hypertext Markup Language (HTML) ausschlie\u00dflich f\u00fcr die Formatierung statischer Webseiten. Durch Server Side Includes (SSI) existiert jedoch mittlerweile die M\u00f6glichkeit, dynamische Inhalte direkt in HTML einzubinden, ohne Programmiersprachen wie PHP, Perl oder Python zu benutzen. Es handelt sich um kurze Skript-Befehle, die von Webservern nach einer Anfrage automatisch ausgef\u00fchrt werden. Im Unterschied zu anderen M\u00f6glichkeiten arbeiten Server Side Includes sehr effizient und ben\u00f6tigen keine zus\u00e4tzliche Software wie zum Beispiel Interpreter oder externe Datenbanken.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wie funktionieren Server Side Includes?<\/h3>\n\n\n\n<p>Die Server Side Includes (SSI) wurden erstmalig von dem Apache 1.2 eingef\u00fchrt, um HTML durch <strong>einfache, ver\u00e4nderbare Elemente<\/strong> zu erg\u00e4nzen. Aufgrund ihrer hohen Funktionalit\u00e4t und der wachsenden Verbreitung \u00fcbernahmen nahezu alle alternativen Anbieter wie <a href=\"https:\/\/www.vautron.de\/blog\/was-ist-der-microsoft-iis-webserver\">Microsoft Windows IIS<\/a> und nginx w\u00e4hrend ihrer Entwicklung die Erweiterung, so dass SSI mittlerweile bei fast jedem Webhosting ohne Einschr\u00e4nkungen genutzt werden kann. Mit Server Side Includes eingebettete Instruktionen interpretiert der Webserver in den meisten F\u00e4llen ohne jede weitere Konfiguration und liefert das <strong>Ergebnis als HTML-Dokument<\/strong> aus. Neben vielen Vorteilen k\u00f6nnen sie jedoch ebenfalls \u00e4hnlich wie <a href=\"https:\/\/www.vautron.de\/blog\/smtp-smuggling-wie-funktioniert-es\">SMTP-Smuggling<\/a> ein Risiko f\u00fcr die <a href=\"https:\/\/www.vautron.de\/blog\/welche-cyber-bedrohungen-gefaehrden-webseitenbetreiber\">IT-Sicherheit<\/a> darstellen, wenn es einem Angreifer gelingt, eigene Befehle auf einen Server einzuschleusen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Welche Aufgaben k\u00f6nnen Server Side Includes \u00fcbernehmen?<\/h3>\n\n\n\n<p>Im Vergleich zu komplexen Programmiersprachen sind die Server Side Includes bewusst einfach gehalten und umfassen insgesamt <strong>weniger als 20 Kommandos<\/strong>. Dennoch l\u00e4sst sich dadurch eine Webseite vielseitig erweitern, um Funktionen und Inhalte wie die folgenden zu integrieren:<\/p>\n\n\n\n<ul>\n<li>Ausgabe von Informationen wie Datum, Internetadresse oder Zahl der Besucher<\/li>\n\n\n\n<li>Einbettung von externen Dateien, speziell universell verwendeten HTML-Fragmenten<\/li>\n\n\n\n<li>Anlegen, Abrufen und Umschreiben von Cookies<\/li>\n\n\n\n<li>Unkompliziertes Aufrufen von <a href=\"https:\/\/www.vautron.de\/blog\/cgi-schnittstelle-aufgaben-funktionen\">CGI Skripten<\/a> und unterschiedlichen Interpretern<\/li>\n\n\n\n<li>Ausf\u00fchren von beliebigen Programmen oder Kommandos ohne grafische Oberfl\u00e4che<\/li>\n\n\n\n<li>Setzen, \u00c4ndern oder Abrufen von Variablen und Parametern<\/li>\n\n\n\n<li>Fallunterscheidung von Bedingungen nach dem klassischen Format if\/elif\/else\/endif<\/li>\n\n\n\n<li>Zugriff auf interne und externe Datenbanken \u00fcber SQL-Befehle<\/li>\n\n\n\n<li>\u00dcberpr\u00fcfung der Resultate von SSI Kommandos und individuelle Fehlermeldungen<\/li>\n<\/ul>\n\n\n\n<p>Trotz der vergleichbar geringen Zahl an Befehlen er\u00f6ffnen sich durch Server Side Includes <strong>diverse M\u00f6glichkeiten<\/strong>. Zu ihnen z\u00e4hlen unter anderem mehrsprachige Webseiten, die Einbindung verschiedener <a href=\"https:\/\/www.vautron.de\/blog\/was-sind-datenbanksysteme\">Datenbanksysteme<\/a> oder eine zentrale Verwaltung und Verwendung von vielfach genutzten Elementen wie Header, Footer und Bildern.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wie sind Server Side Includes aufgebaut?<\/h3>\n\n\n\n<p>Alle Server Side Includes bestehen aus einem Befehl, dem je nach Kontext <strong>mehrere Parameter<\/strong> oder kleine Codeschnipsel folgen. Daraus ergibt sich eine simple, \u00fcbersichtliche Syntax:<\/p>\n\n\n\n<p>#Befehl attribut=&#8220;wert1&#8243; attribut2=&#8220;wert2&#8243; &#8230;..<\/p>\n\n\n\n<p>Die einf\u00fchrende Raute (#) markiert eine SSI-Kommandos und muss als Erkennungszeichen vor jedem Befehl stehen. Die anschlie\u00dfenden Parameter sind von der Anweisung abh\u00e4ngig und in der Menge nicht begrenzt. In der Regel stehen die Instruktionen immer <strong>als Kommentare<\/strong> in dem HTML-Code:<\/p>\n\n\n\n<p>&lt;!- Befehl (z. B. cookie\/set\/echo\/include\/if) arg1=&#8220;1234&#8243; arg2=&#8220;abcd&#8220; -&gt;<\/p>\n\n\n\n<p>Diese Einbettung verhindert in jedem Fall, dass der Code als Text dargestellt wird &#8211; das gilt, selbst wenn das System keine Server Side Includes unterst\u00fctzt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Was sind die Voraussetzungen, um Server Side Includes zu verwenden?<\/h3>\n\n\n\n<p>Die meisten Webserver &#8211; zum Beispiel <a href=\"https:\/\/www.vautron.de\/blog\/was-ist-der-apache-webserver\">Apache 2<\/a> oder <a href=\"https:\/\/www.vautron.de\/blog\/was-ist-der-nginx-webserver\">nginx<\/a> &#8211; unterst\u00fctzen SSI \u00fcber ein <strong>externes Modul<\/strong>, das bei jedem Start mit der globalen oder lokalen Konfiguration geladen werden muss. Als Erkennungsmerkmal, dass es sich um HTML-Code mit Server Side Includes handelt, haben sich die <strong>Dateiendungen .shtml oder .stm<\/strong> etabliert. Eine Alternative, die deren Verwendung verschleiert, ist der sogenannte X-Bit-Hack. Er kann entweder global auf dem Webserver oder lokal von jedem Administrator einer Webseite \u00fcber den Eintrag &#8222;XBitHack on&#8220; in einer .htaccess-Datei aktiviert werden. Bei ihm identifiziert der Webserver die SSI-Erweiterung, indem in den Zugriffsrechten f\u00fcr entsprechende Dateien <strong>das eXecute-Bit<\/strong> gesetzt wird, das ausf\u00fchrbare Skripte im Betriebssystem kennzeichnet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Urspr\u00fcnglich diente die Hypertext Markup Language (HTML) ausschlie\u00dflich f\u00fcr die Formatierung statischer Webseiten. Durch Server Side Includes (SSI) existiert jedoch mittlerweile die M\u00f6glichkeit, dynamische Inhalte direkt in HTML einzubinden, ohne &#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[55,32,29],"_links":{"self":[{"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/posts\/662"}],"collection":[{"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/comments?post=662"}],"version-history":[{"count":3,"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/posts\/662\/revisions"}],"predecessor-version":[{"id":673,"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/posts\/662\/revisions\/673"}],"wp:attachment":[{"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/media?parent=662"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/categories?post=662"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/tags?post=662"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}