È possibile che venga visualizzati messaggi di errore quando si Sfoglia o si tenta di debug di un'applicazione ASP.NET dopo l'installazione dell'aggiornamento protezione 887219 (MS05-004)

Traduzione articoli Traduzione articoli
Identificativo articolo: 894670 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

dopo l'installazione aggiornamento della protezione MS05-004, e quindi individuare o tenta di eseguire alcune applicazioni ASP.NET di debug, potrebbero verificarsi errori. In questo articolo vengono descritti i di messaggi di errori diversi che è possibile che venga visualizzato. Vengono inoltre fornite soluzioni per questi problemi.

Sintomi

Dopo aver installato l'aggiornamento della protezione MS05-004, e quindi esplorare o tenta di debug di un'applicazione di Microsoft ASP.NET in cui l'URL contiene una barra rovesciata (\), si potrebbe essere visualizzato uno dei seguenti messaggi di errore:
Impossibile trovare la risorsa.
Descrizione: HTTP 404. La risorsa che si sta cercando (o una delle sue dipendenze) potrebbe sono stati rimossi, rinominata o temporaneamente non disponibile. Verificare l'URL seguente e assicurarsi che sia digitato correttamente.

Errore durante il tentativo di eseguire il progetto: Impossibile avviare il debug sul server web. Impossibile avviare ASP.NET o il debug di ATL Server. Verificare che il server di ASP.NET o ATL è attualmente installato sul server.

Cause

Il problema si verifica se l'URL specificato nella metabase di Microsoft Internet Information Services (IIS) contiene una barra rovesciata finale.

Risoluzione

Per risolvere questo problema, rimuovere la barra rovesciata finale la metabase di IIS per l'URL specificato per l'applicazione Web interessato. Per effettuare questa operazione, utilizzare uno dei metodi descritti di seguito.

Metodo 1: Utilizzare Gestione IIS

  1. Fare clic su Start , scegliere Esegui , digitare cmd e quindi fare clic su OK .
  2. Individuare la directory % systemroot%\system32\inetsrv.
  3. Al prompt di comando, digitare inetmgr per aprire Gestione IIS.
  4. Fare clic con il pulsante destro del mouse sul sito per l'URL che si desidera modificare e quindi fare clic su Proprietà .
  5. Se l'applicazione interessata è una directory virtuale nel sito Web, fare clic sulla scheda Directory e quindi rimuovere la barra rovesciata finale dal percorso specificato nella casella di testo percorso locale .

    Se l'applicazione interessata è nella directory principale del sito Web, fare clic sulla scheda Home Directory e quindi rimuovere la barra rovesciata finale dal percorso specificato nella casella di testo percorso locale .
  6. Fare clic su Applica e quindi fare clic su OK .

Metodo 2: Utilizzare uno script vbs

  1. Utilizzare il tp esempio di codice riportato di seguito per creare uno script vbs: objWebService
    
    Option Explicit
    
    Dim objWebService, objWebSite
    Dim objSite, objArgs, strServer
    Dim WshNetwork
    
    Set objArgs = WScript.Arguments
    
    If objArgs.Length = 1 Then
    	strServer = objArgs(0)
    ElseIf  objArgs.Length = 0 Then
    	Set WshNetwork = CreateObject("WScript.Network")
    	strServer = WshNetwork.ComputerName
    Else
    	WScript.Echo "Usage: CScript ModifyVDir.vbs [servername]"
    	WScript.Quit
    End If
    WScript.Echo "Connecting to " & strServer
    
    Set objWebService = GetObject("IIS://" & strServer & "/W3SVC")
    
    For Each objWebSite in objWebService
    	Set objSite = GetObject(objWebSite.AdsPath)
    	If objSite.Class = "IIsWebServer" Then
    		WScript.Echo objSite.AdsPath
    		EnumVDir objSite, 1
    	End If
    Next
    
    WScript.Echo "Done processing."
    
    Sub EnumVDir(objVDir, i)
    	Dim objSubVDir, objDir
    	Dim strNewPath
    	
    	For Each objSubVDir in objVDir
    		If objSubVDir.Class = "IIsWebVirtualDir" Then
    			Set objDir = GetObject(objSubVDir.AdsPath)
    			
    			If ((Right(objDir.Path, 1) = "\") and (Right(objDir.Path, 2) <> ":\")) Then
    				WScript.Echo Space(i*3) & objDir.AdsPath
    				WScript.Echo Space(i*3) & "Path = " & objDir.Path
    
    				strNewPath = Left(objDir.Path, Len(objDir.Path) - 1)
    				WScript.Echo Space(i*3) & "New Path = " & strNewPath
    					
    				objDir.Put "Path", strNewPath
    				objDir.SetInfo
    			End If
    			
    			EnumVDir objDir, i + 1
    		End If
    	Next
    End Sub
    
    
  2. Eseguire lo script vbs dalla riga di comando. Per effettuare questa operazione, attenersi alla seguente procedura:
    1. Fare clic su Start , scegliere Esegui , digitare cmd e quindi fare clic su OK .
    2. Al prompt di comando, digitare cscript [file_name vbs] .

      Nota file_name è un segnaposto per il nome dello script vbs.
    3. Per chiudere il prompt dei comandi, digitare exit .

Informazioni

Dopo avere applicato questo aggiornamento per la protezione, ASP.NET esegue verifiche più rigorose la validità sia di percorsi fisici e percorsi virtuali richiesti.

Riferimenti

Per ulteriori informazioni sulla sicurezza MS05-004, fare clic sul seguente numero per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:
887219MS05-004: Vulnerabilità di convalida di ASP.NET percorso può consentire l'accesso non autorizzato

Proprietà

Identificativo articolo: 894670 - Ultima modifica: lunedì 3 dicembre 2007 - Revisione: 2.7
Le informazioni in questo articolo si applicano a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.0 Service Pack 1
  • Microsoft .NET Framework 1.0 Service Pack 2
  • Microsoft .NET Framework 1.0 Service Pack 3
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.1 Service Pack 1
Chiavi: 
kbmt kbhttp404 kbdev kbasp kbtshoot kberrmsg kbprb KB894670 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 894670
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com