„Data Execution Prevention“ beendet (VS2008) den lokalen ASP.Net Development Server (auch bekannt als Cassini) unter Vista 64

StackOverflow https://stackoverflow.com/questions/19349

  •  09-06-2019
  •  | 
  •  

Frage

Gelegentlich stelle ich fest, dass beim Debuggen einer ASP.Net-Anwendung (geschrieben in Visual Studio 2008, läuft unter Vista 64-Bit) der lokale ASP.Net-Entwicklungsserver (d. h.„Cassini“) reagiert nicht mehr.

Oft erscheint die Meldung, dass „Data Execution Prevention (DEP)“ WebDev.WebServer.exe beendet hat

Die Ereignisprotokolle sagen mir einfach, dass „WebDev.WebServer.exe nicht mehr funktioniert“.

Ich habe gehört, dass dieses „Problem“ unter Vista 64-Bit häufiger auftritt, da DEP standardmäßig aktiviert ist.Daher kann das Deaktivieren von DEP das Problem „lösen“.

Aber ich frage mich:

Gibt es einen bekannten Fehler/eine bekannte Situation bei Cassini, die dazu führt, dass DEP den Prozess abbricht?

Welche praktische Gefahr besteht alternativ bei der Deaktivierung der Datenausführungsverhinderung?

War es hilfreich?

Lösung

Die einzige Möglichkeit, dies sicher zu wissen, besteht darin, die Cassini-Quelle zu durchsuchen und zu sehen, ob es Bereiche gibt, in denen Code auf dem Heap generiert und dann ausgeführt wird, ohne das NX-Flag zu löschen.

Warum jedoch nicht stattdessen IIS verwenden?

BEARBEITEN:

Die Gefahr der Deaktivierung von DEP besteht darin, dass Sicherheitslücken entstehen.DEP funktioniert, indem es nicht zulässt, dass willkürlich generierter Code auf dem Heap ausgeführt wird.Dadurch wird verhindert, dass Malware-Programme Code in die Datensegmente legitimer Programme einfügen.

Andere Tipps

Du bist auf Vista, es ist besser geworden (7), Cassini blieb beschissen.

Starten Sie diese App also einfach auf iis mit einem Host-Header und einem Hosts-Dateieintrag.

Bei Bedarf können Sie bestimmte Programme vom DEP ausschließen.

Als Jonathan

erwähnt, dass dadurch eventuelle Schwachstellen in der Anwendung entstehen.

Die Verwendung von IIS in Visual Studio ist nicht mehr so ​​nervig wie in den Tagen von 1.1/VS02/03.Es gibt viele gute Gründe, IIS dem Cassini-Server vorzuziehen (Artikel von Dominick Baier):

Cassini hielt es für schädlich
Ein weiterer Grund, warum ich Cassini nicht empfehlen würde

Dominick ist „der Mann“, wenn es um IIS und Sicherheitsthemen geht.

Wenn ich IIS für eine Web-App verwende, erstelle ich die App immer zuerst in IIS, zeige sie auf meinen bevorzugten Ordner und lasse dann VS das Projekt erstellen.Dies bedeutet, dass Sie c:\inetpub\wwwroot nicht mit Ihren Web-Apps überladen.

Natürlich haben wir jetzt IISExpress, was die offensichtliche Wahl für die Entwicklung von ASP.NET-Anwendungen in Visual Studio ist, wenn Sie auf IIS7.x abzielen.

Danke für die Antworten.Ich schätze, ich habe in der .net 1.x-Ära eine solche Abneigung gegen IIS entwickelt, dass ich mich geweigert habe, über eine Wiederverwendung nachzudenken – bis jetzt.

beiseite:Bei der Wahl zwischen zwei gleichermaßen akzeptablen Antworten von ChanChan und Jonathan habe ich Jonathans Antwort willkürlich als „akzeptiert“ markiert, weil a) er als Erster eingestiegen ist und b) sein Ruf derzeit niedriger ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top