Veröffentlichen von .cs-Erweiterungen und anderen in IIS 7.0

7

Ich entwickle eine Webanwendung und führe sie mit IIS aus. Meine Anwendung ist ein Dateiserver. Ich muss Dateien im Webbrowser visualisieren und habe einige Probleme beim Betrachten einiger Dateien oder Verzeichnisse.

Ich kann z. B. keine Dateien mit der Erweiterung .cs oder den Inhalt von Verzeichnissen namens bin anzeigen. Der Webserver gibt eine 404 für diese URLs zurück:

%Vor%

Ich vermute, dass dies eine Art von Schutz ist, den IIS hat. Meine Fragen sind:

  1. Weißt du, warum IIS diese Dateien filtert?
  2. Wissen Sie, wie IIS so konfiguriert wird, dass diese URLs abgerufen werden können?

Und die wichtigste Frage für mich:

  • Ich muss meine Webanwendung für viele Kunden bereitstellen, daher möchte ich sie programmatisch konfigurieren. Weißt du, ob es in der Webanwendung konfiguriert werden kann, stattdessen der IIS richtig? In einem anderen Fall, wie könnte ich es mit einem Skript oder ähnlichem konfigurieren?
Daniel Peñalba 17.01.2011, 15:15
quelle

5 Antworten

10

Nun,

Schließlich musste ich die IIS-Einstellungen ändern, um das requestFiltering zu überschreiben :

%Vor%

Und dann habe ich die folgende Konfiguration in meiner Web.config verwendet: Beachten Sie, dass jetzt alle Dateien auf dem Webserver nicht geschützt sind . Sie müssen Ihre Regeln einrichten, um Ihr bin-Verzeichnis und auch Ihre Code-Dateien oder was immer Sie wollen zu schützen.

%Vor%     
Daniel Peñalba 17.01.2011, 17:14
quelle
7

Beim Installieren von .NET Framework und Registrieren von ASP.NET wird IIS standardmäßig angewiesen, diese Dateien nicht zu liefern. Wenn Sie WIRKLICH darum herum möchten, müssen Sie den Abschnitt Anforderungsfilterung in IIS ändern.

Das folgende Beispiel zeigt, wie Sie .cs Erweiterungen aktivieren:

%Vor%     
Aaron Weiker 17.01.2011 15:22
quelle
2

Dies ist eine Sicherheitsmaßnahme, da asp.net auf dem System installiert ist.

Von Microsoft

  

Alle Anfragen mit / bin in der URL sind   abgelehnt und einen Fehler 404 (IIS   6.0)

     

Dies tritt auf, wenn IIS 6.0 und ASP.NET beide installiert sind. In Ordnung   eine aktivere Haltung einnehmen   gegen böswillige Benutzer und Angreifer,   der ASP.NET ISAPI-Filter,   aspnet_filter.dll, blockiert eingehende   Anfrage enthält / bin in der URL.   Dieses Verhalten tritt serverweit auf,   unabhängig davon, ob die Anfrage für   statischer oder dynamischer Inhalt.

     

Die   bevorzugte Lösung für dieses Problem ist   Ändern Sie den Pfad zum Inhalt auf dem   Server, so dass / bin nicht notwendig ist   in jeder Anfrage.

     

Wenn die Inhalts-URL   kann nicht geändert werden, eine Alternative   Lösung ist, einen Registrierungsschlüssel zu setzen   stoppt den ASP .NET ISAPI-Filter von   Filtern von Anfragen mit / bin in   die URL Dies ist ein Server-weit   Einstellung.

Besser, alle / bin Ordner zu vermeiden, als das auf Ihrem Server zu aktivieren

Um Server-CS-Dateien zu ermöglichen, versuchen Sie diesen Serverfault-Artikel Ссылка

Da es sich um einen webconfig-Fix handelt, können Sie ihn wie von Ihnen gewünscht pro Seite anwenden.

    
Robb 17.01.2011 15:30
quelle
2

Ich würde vorschlagen, dass Sie etwas falsch machen. Sie möchten nicht, dass IIS Ihre Dateien aus verschiedenen Gründen direkt von der Festplatte aus bereitstellt (z. B. wird eine .html- oder .xml-Datei dann erneut aufgeteilt, statt den Inhalt herunterzuladen).

Sie möchten, dass Ihr Code die Dateien an den Benutzer sendet, anstatt dass IIS dies tut. Dadurch werden die Einschränkungen von IIS umgangen (da Sie den Code senden, nicht das) und die Einschränkungen von IIS für die Anwendungsordnerstruktur beibehalten werden.

    
Erik Funkenbusch 17.01.2011 17:28
quelle
1

Diese Dateien werden aus Sicherheitsgründen gefiltert. Wenn ich beispielsweise weiß, dass Ihre Website Ссылка eine Seite enthält, kann ich dies möglicherweise tun Laden Sie den Code für diese Seite herunter, indem Sie in meinem Browser Ссылка eingeben. Dasselbe gilt für den Ordner bin.

Wie versuchen Sie, diese Dateien auf Ihrer eigenen Benutzeroberfläche anzuzeigen oder das Durchsuchen von Verzeichnissen zu aktivieren?

    
Fishcake 17.01.2011 15:24
quelle