2010-06-07 3 views
5

Questo è ovviamente un problema di sicurezza e probabilmente non si vuole cambiare questo, ma sarebbe bello gestire l'errore. Qualche idea?IIS non può servire pagine che terminano con .config

vedo che StackOverflow non è immune:

https://stackoverflow.com/questions/tagged/web.config

Essi sembrano aver cambiato il tag per web-config per risolvere il problema, ma è ancora un messaggio d'errore molto brutto quando cerchi [ web.config]

+0

Ben trovato ... – Ropstah

+2

Dovrebbe essere un bug su meta? –

risposta

1

In IIS 7, questo è disponibile in Request Filtering. Altre estensioni che vengono filtrati per impostazione predefinita includono:

  • asax
  • .ascx
  • .Master
  • cs
  • Csproj

ecc

E ' non un bug BTW, perché la richiesta viene filtrata prima che ASP.NET abbia la possibilità di fare pro smettila. In altre parole, è possibile rimuovere il filtro di richiesta e fare in modo che IIS elabori l'estensione se si desidera, ma assicurarsi che l'estensione sia gestita da ASP.NET e non dal gestore di file statico.

Edit: Forse la risposta per SO sarebbe quello di cambiare in modo che quando i tag hanno estensione .XXX come web.config, cambiano a web-config o qualcos'altro che IIS non filtra. Questo probabilmente anche sarebbe un buon argomento su https://meta.stackoverflow.com/

+0

Sebbene non vi sia alcun errore per es. .cs ma per .config su SO. –

+0

@ 0xA3 - Se inserisci una URL come questa: http://stackoverflow.com/questions/tagged/web.cs (o con una qualsiasi delle estensioni di cui sopra) si ottiene lo stesso errore. Si dà il caso che web.config sia un tag popolare. – Keltex

+0

In realtà non ho lo stesso errore. Per .cs e .vb ottengo semplicemente una pagina vuota, per .config ottengo un errore di analisi XML. –

2

Credo che questo è stato affrontato in ASP.NET 4 con l'aggiunta di una nuova impostazione

<configuration> 
    <system.web> 
    <httpRuntime relaxedUrlToFileSystemMapping="true"/> 
    </system.web> 
</configuration> 

Phil Haack ha più dettagli web.config.

+0

Molto utile. Grazie. –

+0

In realtà questo non funzionerà. Per l'articolo, "Si noti che non è ancora possibile richiedere /web.config perché ciò proverebbe a richiedere web.config nella root della propria applicazione Web e ASP.NET non lo consentirà per una buona ragione!" – Keltex

+0

@Keltex corretto, come indicato nell'articolo, non funzionerà per il file web.config di root per ovvi motivi, ma funzionerà per gli URL contenenti "web.config" che corrispondono a una route come l'esempio della domanda http: // stackoverflow .com/domande/tag/web.config –