"Data Execution Prevention" uccide (VS2008) il server di sviluppo ASP.Net locale (noto anche come Cassini) su Vista 64

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

  •  09-06-2019
  •  | 
  •  

Domanda

Occasionalmente, trovo che durante il debug di un'applicazione ASP.Net (scritta in Visual Studio 2008, in esecuzione su Vista a 64 bit) il server di sviluppo ASP.Net locale (ad es.'Cassini') smette di rispondere.

Spesso viene visualizzato un messaggio che mi dice che "Data Execution Prevention (DEP)" ha ucciso WebDev.WebServer.exe

I registri eventi mi dicono semplicemente che "WebDev.WebServer.exe ha smesso di funzionare"

Ho sentito che questo "problema" si presenta più spesso su Vista a 64 bit perché DEP è attivo per impostazione predefinita.Pertanto, disattivare la funzione DEP potrebbe "risolvere" il problema.

Ma mi chiedo:

Esiste un bug/situazione nota con Cassini che causa l'interruzione del processo da parte di DEP?

In alternativa, qual è il pericolo pratico di disabilitare la prevenzione dell'esecuzione dei dati?

È stato utile?

Soluzione

L'unico modo per saperlo con certezza sarebbe scavare nel sorgente Cassini e vedere se ci sono aree in cui genera codice sull'heap e quindi lo esegue senza cancellare il flag NX.

Tuttavia, invece di farlo, perché non utilizzare IIS?

MODIFICARE:

Il pericolo di disabilitare DEP è che si aprono falle di sicurezza.DEP funziona non consentendo l'esecuzione di codice generato arbitrariamente sull'heap.Ciò aiuta a impedire ai programmi malware di inserire codice nei segmenti di dati di programmi legittimi.

Altri suggerimenti

Sei su Vista, è migliorato (7), Cassini è rimasto scadente.

Quindi avvia questa app su iis con un'intestazione host e una voce del file host.

Se necessario, puoi concedere l'esclusione di determinati programmi dal DEP.

COME Jonathan

menziona che ciò apre eventuali vulnerabilità che l'applicazione potrebbe avere.

Usare IIS in Visual Studio non è più una seccatura come lo era nei giorni 1.1/VS02/03.Ci sono molti buoni motivi per preferire IIS al server Cassini (articoli di Domenico Baier):

Cassini considerato dannoso
Un altro motivo per cui non consiglierei Cassini

Dominick è "l'uomo" quando si tratta di IIS e di questioni di sicurezza.

Quando utilizzo IIS per un'app Web, creo sempre prima l'app in IIS, la indico nella mia cartella preferita, quindi ottengo VS per creare il progetto.Ciò significa che non finirai per ingombrare c:\inetpub\wwwroot con le tue app web.

Naturalmente, ora abbiamo IISExpress che, se stai prendendo di mira IIS7.x, è la scelta ovvia per lo sviluppo di applicazioni ASP.NET in Visual Studio.

Grazie per le risposteImmagino di aver sviluppato una tale avversione per IIS nell'era .net 1.x che mi sono rifiutato di prendere in considerazione l'idea di riutilizzarlo, fino ad ora.

a parte:quando ho scelto tra due risposte ugualmente accettabili da ChanChan e Jonathan, ho arbitrariamente contrassegnato quella di Jonathan come "accettata" perché a) è arrivato primo eb) la sua reputazione è attualmente inferiore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top