Peter: Im Browser funktioniert Javascript in CGI-generierter Datei

Beitrag lesen

Hallo Peter

zunächst ein paar Fragen:

Welches Betriebssystem (inklusive Version) läuft auf dem Server?
Welcher Webserver (inklusive Version) läuft auf dem Server?

-Windows 2000 prof
-apache version?

Beim weitverbreiteten Webserver apache ist es so, dass durch CGI-Skript erzeugtes HTML _nicht_ durch den SSI-Prozessor läuft. Infolgedessen ist jede SSI-Anweisung in einem CGI-Skript überflüssig, da sie exakt so dem Client (= Browser) übermittelt wird, wie sie da steht. Sie wird _nicht_ ausgeführt.

Fazit: Aus CGI-Skripten kann man nun einmal nicht SSI-Anweisungen aufrufen.

Wenn Deine shtml-Datei nur statischen Inhalt besitzt, so kannst Du diese durch den Befehl "cat" sehr wahrscheinlich ausgeben. Es ist selbstredend überflüssig, diese Datei noch mit der Endung shtml zu verzieren :-)

Am besten stellst Du einmal Deine "kopf.shtml", "fuss.html" und die CGI-Datei als einfache Textdatei online, damit wir uns das mal anschauen können.

-hier ist CGI script ich (da es sich um eine offiziele Seite handelt darf ich sie nicht online stellen, deswegen habe pfadnamen auch geändert

#! /usr/bin/ksh
par1=${1-10}
par2=${2-.}
par3=${3-*}
par4=${4-schule}
if [ $QUERY_STRING != "" ]; then
    par1=echo $QUERY\_STRING | sed 's/^tage=\(.\*\)&verzeichnis=\(.\*\)&typ=\(.\*\)&v=\(.\*\)$/\1/'
    par2=echo $QUERY\_STRING | sed 's/^tage=\(.\*\)&verzeichnis=\(.\*\)&typ=\(.\*\)&v=\(.\*\)$/\2/' | sed 's/%2F/\//g
    par3=echo $QUERY\_STRING | sed 's/^tage=\(.\*\)&verzeichnis=\(.\*\)&typ=\(.\*\)&v=\(.\*\)$/\3/'
    par4=echo $QUERY\_STRING | sed 's/^tage=\(.\*\)&verzeichnis=\(.\*\)&typ=\(.\*\)&v=\(.\*\)$/\4/'
fi
echo "Content-type: text/html; charset=ISO-8859-1

<!-- HTML-Version -->
<!DOCTYPE HTML PUBLIC "-//W3//DTD HTML 4.01 Transitional//EN"
          "http://www.w3.org/TR/html4/loose.dtd">

<!-- Sprache des Dokuments: -->
<html lang="de">

<head>
<!-- CSS-Style-Sheet -->
     <link rel="stylesheet" type="text/css" href="/styles/ccc.css">
<!-- Zeichensatz des Dokuments: -->
     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<!-- Zugriff von Suchmaschinen auf das Dokument: -->
     <meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
<!-- Schluesselwoerter und Kurzbeschreibung: -->
     <meta name="KEYWORDS" lang="de" content="neu">
     <meta name="DESCRIPTION" lang="de" content="Neue Dateien im Verzeichnis $par2">
<!-- Autor des Dokuments -->

<title>Neue Dateien im Verzeichnis $par2</title>
</head>

<body>
<h2>Neue Dateien im Verzeichnis <code>/$par4/$par2/</code></h2>

<p>In den letzten <strong>$par1 Tagen</strong> wurden die folgenden
Dateien vom Typ <strong><code>$par3</code></strong>
im Verzeichnis <a href="/$par4/$par2/"><code>/$par4/$par2/</code></a> geändert:</p>

<ul>"

( cd /home/merb/www/data/$par4/$par2;dir=pwd
find $dir -name "$par3" -perm -044 -type f -mtime -$par1  -print |
sed '
//akt//d
/.awk/d
/~$/d
//even//d
/hrz/bet/isdn/d
/hrz/bet/virtual/d
/hrz/bet/wwws/d
/hrz/date/net/stati/d
/index.php/d
/intern_/d
/Kopie von /d
/.ksh/d
/.log/d
/.rrd/d
/template./d
/.wbk/d
/neuer_web/d
s//home/merb/www/data//
s/(.*)/<li><a href="\1">\1</a></li>/
'
)

echo "<hr>
<address>
...

</address>
</body>
</html>
"

[1] Ja, ich weiß dass es auch serverseitiges Javascript gibt.