SSI-Ausgabe verschwindet nach Installation von Sicherheitspatches

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 318176 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Es wird empfohlen, dass alle Benutzer zu Microsoft Internetinformationsdienste (IIS) 7.0 aktualisieren auf Microsoft Windows Server 2008 ausgeführt. IIS 7.0 erhöht deutlich Infrastruktur Websicherheit. Weitere Informationen zu sicherheitsrelevanten Themen im IIS der folgenden Microsoft-Website:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx
Weitere Informationen zu IIS 7.0 die folgende Microsoft-Website:
http://www.iis.net/default.aspx?tabid=1
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Wenn Sie eine Server-Side Include (SSI) Programm mithilfe der Ausführen <!--# exec Cgi--> Befehl auf einem Server mit entweder Microsoft Windows NT 4.0 mit Service Pack 4 (SP4) oder höher angewendet oder Microsoft Windows 2000 mit Service Pack 2 (SP2) oder höher angewendet, die Ausgabe des Programms wird auf der Seite nicht angezeigt. Wenn Sie das gleiche Programm auf einem ungepatchten Server ausführen, wird die Ausgabe wie erwartet angezeigt.

Ursache

Nachdem Sie diese angegebene Servicepacks angewendet haben, erwartet IIS-SSI Programme, die ausgeführt wird, mithilfe der <!--# exec Cgi--> Befehl, um die CGI (Common Gateway Interface)-Spezifikation folgen. Diese Spezifikation erfordert CGI-Programme um einen Inhaltstyp-HTTP-Header vor anderen Ausgabe drucken. IIS wird automatisch ignoriert diesen Header und entfernt es aus der endgültigen Anwendung-Ausgabe, die Sie auf der Seite anzeigt. Wenn die SSI-Anwendung nicht dieser Header enthält IIS führt das Programm zeigt aber keine seine Ausgabe. Dies ist eine Änderung vom Verhalten früherer Versionen von Windows, der erfordern keine diese Header und dem aller enthalten HTTP-Header auf der Seite vor dem Rest der Ausgabe aus dem SSI-Programm anzeigen.

Lösung

Sie können die Ausgabe in zwei Arten angezeigt vornehmen:
  1. Führen Sie das Programm mithilfe der <!--# exec Cmd--> statt der Befehl <!--# exec Cgi--> Befehl. -oder-

  2. Schreiben Sie das Programm die folgende Zeile, gefolgt von zwei neue Zeilen, bevor andere Ausgabe drucken:
    Content-Type: Text/html

Status

Es handelt sich hierbei um ein beabsichtigtes Verhalten.

Weitere Informationen

Gehen Sie folgendermaßen vor um SSIs zu aktivieren:
  1. Starten Sie den (INTERNETDIENST Manager), die IIS-Snap-in für Microsoft Management Console (MMC) lädt.
  2. Doppelklicken Sie auf die Computername im linken Bereich, in der MMC.
  3. Doppelklicken Sie auf der Website für die Sie SSI aktivieren möchten.
  4. Klicken Sie mit der rechten Maustaste auf das virtuelle Verzeichnis, das die SSI-fähige Dateien enthält. Um SSI für das Basisverzeichnis einer Website zu aktivieren, klicken Sie mit der rechten Maustaste auf die Website.
  5. Klicken Sie auf Eigenschaften und dann auf die Registerkarte Basisverzeichnis .
  6. Klicken Sie auf Skripts und ausführbare Dateien , Ausführen Berechtigungen .
  7. Klicken Sie auf OK . Sollten Sie alle Verzeichnisse auszuwählen, die SSI-fähige Dateien im Dialogfeld Vererbungsüberschreibungen enthalten.Weitere Informationen zum Aktivieren der <!--# exec Cmd--> Befehl folgendem Artikel der Microsoft Knowledge Base:
    233969SSIEnableCmdDirective wird standardmäßig auf FALSE festgelegt.

Schritte zum Reproduzieren des Verhaltens

  1. Aktivieren Sie serverseitige Include-für das Basisverzeichnis der Website standardmäßig.
  2. Kompilieren Sie das folgende C-Programm auf einem ungepatchten Windows NT 4.0 oder Windows 2000 Server:
    #include <stdio.h>
    int main(int argc, char **argv) {
      printf("Hello World\n");
    
    }
  3. Benennen Sie die ausführbare Datei "HelloWorld.exe", und platzieren Sie die Datei im Stammverzeichnis Ihres Webservers. Standardmäßig ist dieses Verzeichnis C:\Inetpub\Wwwroot.
  4. Erstellen Sie die folgende SSI-fähigen HTML-Seite, und speichern Sie die Seite als Ssitest.shtm im Stammverzeichnis Ihres Webservers:
    <HTML><BODY>
    Exec cmd: <!--#exec cmd="c:\inetpub\wwwroot\HelloWorld.exe"--><BR>
    Exec cgi: <!--#exec cgi="/HelloWorld.exe"-->
    </BODY></HTML>
  5. Wechseln Sie zu http://localhost/ssitest.shtm auf einem Computer mit Windows NT 4.0 Service Pack 3 (SP3) oder früher oder Windows 2000 Service Pack 1 (SP1) oder früher. Im folgenden finden Sie:
    Exec cmd: Hello World
    Exec cgi: Hello World
  6. Anwenden von Windows NT 4.0 SP4 oder höher oder Windows 2000 SP2 oder höher auf dem Computer.
  7. Wechseln Sie zu http://localhost/ssitest.shtm erneut. Nun Folgendes angezeigt:
    Exec cmd: Hello World
    Exec cgi:
  8. Ändern Sie den Code für "HelloWorld.exe", um einen Content-Type-Header zuerst drucken und kompilieren Sie die Datei:
    #include <stdio.h>
    int main(int argc, char **argv) {
      printf("Content-type: text/html\n");
      printf("Hello World\n");
    
    }
  9. Laden Sie http://localhost/ssitest.shtm auf einem Computer mit Windows NT 4.0 SP4 oder höher oder Windows 2000 SP2 oder höher. Nun Folgendes angezeigt:
    Exec cmd: Content-type: text/html
     Hello World
    Exec cgi: Hello World
    wichtig, im Gegensatz zu den <!--# exec Cgi--> Befehl, der <!--# exec Cmd--> Befehl entfernt keine CGI-Header aus der Ausgabe.

Informationsquellen

Weitere Informationen zu SSIs finden Sie "Server-Side Includes" in der Onlinedokumentation zu IIS. Um dieses Thema anzuzeigen, suchen Sie Verwaltung , suchen Sie Websiteverwaltung , und suchen Sie Serverseitige Include . Der IIS-Onlinedokumentation kann mit der IIS-Dokumentation installiert über folgenden URL von jedem Computer aus zugegriffen werden:
http://localhost/iishelp

Eigenschaften

Artikel-ID: 318176 - Geändert am: Sonntag, 9. Februar 2014 - Version: 3.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Server 4.0
Keywords: 
kbnosurvey kbarchive kbmt kbpending kbprb KB318176 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 318176
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com