Beispielwebseiten
Verantwortlich für Inhalt und Design:
Webmaster der Informatik
<Email>
<Homepage>
Erklärung: Diese Seite gehört zu den Webseiten der RBI.
Für den Inhalt gelinkter Seiten außerhalb dieser Seiten sind die Autoren nicht verantwortlich.
Zeitstempel:
15.05.2003 UTC 11:41:15
© EJP
|
Webserver - SHTML
Mit SHTML hat man die Möglichkeit, Inhalte zu berechnen und so in HTML-Seiten einzufügen, daß der Anwender
davon nichts mitbekommt und auch nicht mehr sieht, welche Skripte ursprünglich eingefügt wurden. Der folgende
Abschnitt ist eine dynamisch auf Erreichbarkeit prüfende Linkliste (Quellcode weiter unten).
Linkliste www.uni-frankfurt.de/
www.jaskajgkafjsgjfklsjglkjg.de/
www.google.de/
Die Steuerdatei
Die .htaccess Steuerdatei umfaßt die folgenden Befehle:
Redirect permanent /~www1test/redirect_test.html http://www.informatik.uni-frankfurt.de/~www1test/index.html
Redirect permanent /~www1test/redirect_extern.html http://www.informatik.uni-frankfurt.de/
AddType application/x-httpd-php .html
Options ExecCGI Includes
|
Unter Options wird durch das Schlüsselwort "Includes" mitgeteilt, daß SHTML-Dateien vor dem Senden geparst und
zusätzliche Inhalte eingebunden werden.
Tips und Tricks
Normalerweise werden nur .shtml Dateien mit "Includes" untersucht. Da aber der XBitHack aktiviert ist, wird jede
normale HTML Datei, bei der das Execute-Flag (Dateirechte z.B. 755 rwxr-xr-x statt 644 rw-r--r--) gesetzt wird, wie eine
SHTML-Datei behandelt. Beispiel: Diese Seite als HTML. Kleines Problem! SHTML und PHP Includes
widersprechen sich, weswegen hier wieder die Endung .htm benutzt wurde. Um auch .html Dateien benutzen zu
können, ist es leider notwendig, auf den folgenden Eintrag in der .htaccess Datei zu verzichten.
AddType application/x-httpd-php .html
|
Macht aber gar nichts, da PHP und SHTML prinzipiell die gleichen Möglichkeiten bieten und es somit genügt,
eine von beiden Methoden zu verwenden.
Quellcode dieser Seite
01 <!--Die folgenden Zeilen sind nötig, der Titel kann je nach Seite angepaßt werden-->
02 <html>
03 <head>
04 <title>RBI - Beispiel SHTML</title>
05
06 <!--Hier wird das Menü eingefügt! Achtung bei SHTML andere Syntax-->
07 <!--#include virtual="./menue.html"-->
08
09 <!--Hier beginnt die eigentliche Seite-->
10
11 <td width=100% valign="top">
12
13 <h1 align=center>Webserver - SHTML</h1>
14
15 <p class="erps" align="justify">
16 Mit SHTML hat man die Möglichkeit, Inhalte zu berechnen und so in HTML-Seiten einzufügen, daß der Anwender
17 davon nichts mitbekommt und auch nicht mehr sieht, welche Skripte ursprünglich eingefügt wurden. Der folgende
18 Abschnitt ist eine dynamisch auf Erreichbarkeit prüfende Linkliste (Quellcode weiter unten).
19
20 <!--#include virtual="linklist.cgi"-->
21
22
23 <h2 align=center>Die Steuerdatei</h2>
24 <p class="erps" align="justify">
25
26 Die <b>.htaccess</b> Steuerdatei umfaßt die folgenden Befehle:
27
28 <!--#include virtual="./htaccess.quellcode"-->
29
30 Unter Options wird durch das Schlüsselwort "Includes" mitgeteilt, daß SHTML-Dateien vor dem Senden geparst und
31 zusätzliche Inhalte eingebunden werden.
32
33 <h2 align=center>Tips und Tricks</h2>
34 <p class="erps" align="justify">
35
36 Normalerweise werden nur .shtml Dateien mit "Includes" untersucht. Da aber der XBitHack aktiviert ist, wird jede
37 normale HTML Datei, bei der das Execute-Flag (Dateirechte z.B. 755 rwxr-xr-x statt 644 rw-r--r--) gesetzt wird, wie eine
38 SHTML-Datei behandelt. Beispiel: Diese Seite als <a href="shtml.htm">HTML</a>. Kleines Problem! SHTML und PHP Includes
39 widersprechen sich, weswegen hier wieder die Endung <b>.htm</b> benutzt wurde. Um auch <b>.html</b> Dateien benutzen zu
40 können, ist es leider notwendig, auf den folgenden Eintrag in der <b>.htaccess</b> Datei zu <b>verzichten</b>.
41
42 <!--#include virtual="./htaccess_php.quellcode"-->
43
44 Macht aber gar nichts, da PHP und SHTML prinzipiell die gleichen Möglichkeiten bieten und es somit genügt,
45 eine von beiden Methoden zu verwenden.
46
47 <h2 align=center>Quellcode dieser Seite</h2>
48 <p class="erps" align="justify">
49
50 <!--#include virtual="./shtml.shtml.quellcode"-->
51
52 <h2 align=center>Quellcode des Link-Skripts</h2>
53 <p class="erps" align="justify">
54 Einfach ein paar Variablen anpassen und schon kann man seine eigene Linkliste etwas aufpeppen. Die Angabe
55 der Links erfolgt in der eingebundenen Datei <b>links.txt</b>.
56
57 <!--#include virtual="./linklist.quellcode"-->
58
59 Und die dazugehörige Linklist-Datei:
60 <!--#include virtual="./links.txt.quellcode"-->
61
62
63
64 <!--Hier endet die eigentliche Seite-->
65 </td>
66 </tr>
67 </table>
68
69 </body>
70 </html> |
Quellcode des Link-Skripts
Einfach ein paar Variablen anpassen und schon kann man seine eigene Linkliste etwas aufpeppen. Die Angabe
der Links erfolgt in der eingebundenen Datei links.txt.
01 #!/usr/local/bin/perl -wT
02
03 use strict;
04 use CGI;
05 use FileHandle;
06 use LWP::UserAgent;
07 use HTTP::Request;
08
09 # Die CGI-Schnittstelle
10 my $q = new CGI;
11 my $r = new HTTP::Request 'GET';
12 my $ua = new LWP::UserAgent;
13
14 # Gewisse lokale Variablen
15 my $url_cgi ="http://www.informatik.uni-frankfurt.de/~www1test/";
16 my @color = ( "whitesmoke", "lightgrey" );
17 my %m = ( "author", "Ernst Preussler" );
18 my $fb = new FileHandle "links.txt";
19
20
21 # Gib die Seite aus
22 print $q->header( "text/html" );
23
24 print $q->div (
25 { -align => "center" },
26 $q->h1 ( " Linkliste" )
27 ),
28 $q->a (
29 { -name => "linkliste" },
30 $q->hr
31 );
32
33 #
34 while (!$fb->eof){
35 my $line = $fb->getline;
36 $ua = LWP::UserAgent->new;
37 $r = new HTTP::Request 'HEAD', $line;
38 my $resp = $ua->request($r);
39 my $rs = $resp->code();
40
41 print " ";
42 if ($rs != 200){
43 print $q->img (
44 { -src => "/icons/reddot2.gif", -align => "absmiddle", -alt => "Link nicht erreichbar!" }
45 );
46 }
47 else{
48 print $q->img (
49 { -src => "/icons/greendot2.gif", -align => "absmiddle", -alt => "Link ist erreichbar!" }
50 );
51 }
52 my $linewo = $line;
53 $linewo =~ s/http:\/\///;
54 print " <a href=\"$line\">$linewo</a><br>";
55 }
56
57 # Fußzeile mit Mailadressen und Copyright
58 print "<hr>";
|
Und die dazugehörige Linklist-Datei:
1 http://www.uni-frankfurt.de/
2 http://www.jaskajgkafjsgjfklsjglkjg.de/
3 http://www.google.de/
|
|