Poderá receber mensagens de erro quando procurar ou tenta depurar uma aplicação do ASP.NET depois de instalar actualização de segurança 887219 (MS05-004)

Traduções de Artigos Traduções de Artigos
Artigo: 894670 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Depois de instalar a actualização de segurança MS05-004 e, em seguida, procure ou tenta depurar algumas aplicações do ASP.NET, poderá detectar erros. Este artigo descreve as mensagens de erros diferentes que poderá receber. Também fornece resoluções para estes problemas.

Sintomas

Depois de instalar a actualização de segurança MS05-004 e, em seguida, procure ou tenta depurar uma aplicação do Microsoft ASP.NET onde o URL contém uma barra invertida final (\), poderá receber uma das seguintes mensagens de erro:
Impossível localizar o recurso.
Descrição: HTTP 404. O recurso que procura (ou uma das respectivas dependências) pode ter sido removida, tinha o respectivo nome alterado ou está temporariamente indisponível. Consulte o seguinte URL e certifique-se de que está escrito correctamente.

Erro ao tentar executar o projecto: não é possível iniciar a depuração no servidor web. Não foi possível iniciar ASP.NET ou ATL Server depuração. Verifique se o servidor ASP.NET ou ATL está actualmente instalado no servidor.

Causa

O problema ocorre se o URL especificado na metabase ISS (Serviços de informação Internet Information Services) contém uma barra invertida final.

Resolução

Para resolver este problema, remova a barra invertida final na metabase do IIS para o URL especificado para a aplicação Web afectada. Para o fazer, utilize um dos seguintes métodos.

Método 1: Utilizar O Gestor de IIS

  1. Clique em Iniciar , clique em Executar , escreva cmd e, em seguida, clique em OK .
  2. Localize o directório %systemroot%\system32\inetsrv.
  3. Na linha de comandos, escreva inetmgr para abrir O Gestor de '.
  4. Clique com o botão direito do rato no Web site para o URL que pretende alterar e, em seguida, clique em Propriedades .
  5. Se a aplicação afectada for um directório virtual no Web site, clique no separador directório e, em seguida, remova a barra invertida final do caminho especificado na caixa de texto caminho local .

    Se a aplicação afectada for no directório raiz do Web site, clique no separador Directório raiz e, em seguida, remova a barra invertida final do caminho especificado na caixa de texto caminho local .
  6. Clique em Aplicar e, em seguida, clique em OK .

Método 2: Utilizar um script .vbs

  1. Utilize o seguinte exemplo tp da código criar um script .vbs:
    
    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. Execute o script .vbs na linha de comandos. Para o fazer, siga estes passos:
    1. Clique em Iniciar , clique em Executar , escreva cmd e, em seguida, clique em OK .
    2. Na linha de comandos, escreva cscript [.vbs file_name] .

      Nota file_name é um marcador para o nome do seu script .vbs.
    3. Para fechar a linha de comandos, escreva exit .

Mais Informação

Depois de aplicar esta actualização de segurança, o ASP.NET executa verificações mais rigorosas para a validade dos caminhos físicos e dos caminhos virtuais pedidos.

Referências

Para obter informações adicionais sobre a segurança MS05-004 actualizar, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
887219MS05-004: Uma vulnerabilidade de validação de caminho ASP.NET pode permitir acesso não autorizado

Propriedades

Artigo: 894670 - Última revisão: 3 de dezembro de 2007 - Revisão: 2.7
A informação contida neste artigo aplica-se 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
Palavras-chave: 
kbmt kbhttp404 kbdev kbasp kbtshoot kberrmsg kbprb KB894670 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 894670

Submeter comentários

 

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