2010-09-20 20 views
17

Voglio simulare questo errore così posso controllare che venga visualizzata una pagina di errore generica, non quella HTTP 500, alla luce della recente vulnerabilità della sicurezza.Come simulare un errore HTTP 500 sulla mia app ASP.NET?

Includiamo l'elaborazione speciale nel sito stesso per 404 e 403, quindi voglio essere sicuro che anche gli errori senza elaborazione speciale funzionino.

risposta

26
throw new Exception(); 

Questo genererà un HTTP 500

+0

Proprio quello che stavo per dire (: –

+1

Anche io :) ci ha battuto! –

+1

Mille grazie, questo ha funzionato perfettamente. – ger

3

Penso che si possa fare questo sovrascrivendo pagina init e aggiungendo il codice 500 di stato per la risposta come la seguente:

protected void Page_Init(object sender, EventArgs e) 
{ 
    Response.Clear(); 
    Response.StatusCode = 500; 
    Response.End(); 
} 

Enjoy!

+1

Got StatusCode di 200 con il messaggio di errore quando si utilizza = throw new Exception() riuscire sovrascrivendo il codice di stato direttamente attraverso il codice = Response.StatusCode = 500 –

+0

posso usare questo 'return new HttpStatusCodeResult (500);' – Unbreakable

-2

Questo genera un codice di errore http personalizzato nel classico asp.

<%@language=Jscript%> 

<% 
    Response.Status = "996 TerraNova GeoWeb Internal Server Error"; 
    Response.End; 
%> 
0

è possibile interrompere il file web.config. Mettere un tag malformati per i test

0

Ecco un modo per fare questo senza modificare il sito in qualsiasi modo:

  1. Dal browser Web, aprire una pagina del tuo sito che ha un modulo di postback.
  2. Premere F12 per aprire gli strumenti di sviluppo.
  3. Dalla scheda HTML, cercare __VIEWSTATE e modificare il valore in qualsiasi modo.
  4. Pubblica forma

Ciò causerà un "Convalida di viewstate MAC non riuscita" Eccezione ASP.Net, che restituisce un codice di risposta di errore HTTP 500 server interno.

L'interruzione di web.config con un tag non valido funziona anche, ma vanifica lo scopo se si tenta di testare alcune impostazioni nel proprio web.config (come Traccia richieste non riuscite).

+0

posso usare 'return new HttpStatusCodeResult (500);' – Unbreakable

Problemi correlati