Po zainstalowaniu aktualizacji zabezpieczeń 887219 (MS05-004) mogą pojawić się komunikaty o błędach podczas korzystania z przeglądarki lub przy próbie debugowania aplikacji ASP.NET

Streszczenie

Po zainstalowaniu aktualizacji zabezpieczeń MS05-004 mogą pojawić się błędy podczas korzystania z przeglądarki lub przy próbie debugowania aplikacji ASP.NET. W tym artykule opisano różne komunikaty o błędach, jakie mogą wystąpić. Podano także rozwiązania tego problemu.

Symptomy

Po zainstalowaniu aktualizacji zabezpieczeń MS05-004 może pojawić się jeden z poniższych komunikatów o błędach podczas korzystania z przeglądarki lub przy próbie debugowania aplikacji ASP.NET, w przypadku której adres URL zawiera ukośnik odwrotny na końcu.
Nie można znaleźć zasobu.


Opis: HTTP 404. Strona, której szukasz (lub jeden z jej elementów zależnych), mogła zostać usunięta, zmieniono jej nazwę lub jest tymczasowo niedostępna. Przejrzyj poniższy adres URL i upewnij się, że jest poprawnie wpisany.

Error while trying to run project: Unable to start debugging on the web server. Could not start ASP.NET or ATL Server Debugging. Verify that the ASP.NET or ATL server is currently installed on the server. (Wystąpił błąd podczas próby uruchomienia projektu: Nie można rozpocząć debugowania na serwerze sieci web. Nie można rozpocząć debugowania na serwerze ASP.NET lub ATL. Sprawdź, czy serwer ASP.NET lub ATL jest obecnie zainstalowany na komputerze serwera.)

Przyczyna

Ten problem występuje, jeśli adres URL określony w metabazie internetowych usług informacyjnych (IIS) firmy Microsoft zawiera ukośnik odwrotny na końcu.

Rozwiązanie

Aby rozwiązać ten problem, w metabazie usług IIS należy usunąć ukośnik odwrotny na końcu adresu URL określonego dla aplikacji sieci Web, w przypadku której występuje błąd. W tym celu należy zastosować jedną z poniższych metod.

Metoda 1. Użycie Menedżera usług IIS

  1. Kliknij przycisk Start, kliknij polecenie Uruchom, wpisz polecenie cmd, a następnie kliknij przycisk OK.
  2. Zlokalizuj katalog %systemroot%\system32\inetsrv.
  3. W wierszu polecenia wpisz polecenie inetmgr, aby otworzyć Menedżera usług IIS.
  4. Kliknij prawym przyciskiem myszy witrynę sieci Web, dla której chcesz zmienić adres URL, a następnie kliknij polecenie Właściwości.
  5. Jeśli aplikacja, której dotyczy problem, jest katalogiem wirtualnym w obszarze witryny sieci Web, kliknij kartę Katalog, a następnie usuń ukośnik odwrotny umieszczony na końcu ścieżki określonej w polu tekstowym Ścieżka lokalna.

    Jeśli aplikacja, której dotyczy problem, jest katalogiem głównym witryny sieci Web, kliknij kartę Katalog główny, a następnie usuń ukośnik odwrotny umieszczony na końcu ścieżki określonej w polu tekstowym Ścieżka lokalna.
  6. Kliknij przycisk Zastosuj, a następnie kliknij przycisk OK.

Metoda 2. Użycie skryptu vbs

  1. Utwórz skrypt vbs, korzystając z poniższego przykładu kodu:
    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 "Sposób użycia: CScript ModifyVDir.vbs [nazwa_serwera]"
    WScript.Quit
    End If
    WScript.Echo "Nawiązywanie połączenia z " & 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 "Przetwarzanie zakończone."

    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) & "Ścieżka = " & objDir.Path

    strNewPath = Left(objDir.Path, Len(objDir.Path) - 1)
    WScript.Echo Space(i*3) & "Nowa ścieżka = " & strNewPath

    objDir.Put "Path", strNewPath
    objDir.SetInfo
    End If

    EnumVDir objDir, i + 1
    End If
    Next
    End Sub

  2. Uruchom skrypt vbs z poziomu wiersza polecenia. W tym celu wykonaj następujące czynności:
    1. Kliknij przycisk Start, kliknij polecenie Uruchom, wpisz polecenie cmd, a następnie kliknij przycisk OK.
    2. W wierszu polecenia wpisz polecenie

      cscript [nazwa_pliku.vbs]
      .

      Uwaga Parametr nazwa_pliku to symbol zastępczy nazwy skryptu vbs.
    3. Aby zamknąć okno wiersza polecenia, wpisz polecenie exit.

Więcej informacji

Zastosowanie tej aktualizacji zabezpieczeń spowoduje, że program ASP.NET będzie przeprowadzał surowszą kontrolę poprawności zarówno ścieżek fizycznych, jak i ścieżek wirtualnych określanych w żądaniach.

Materiały referencyjne

Aby uzyskać dodatkowe informacje dotyczące aktualizacji zabezpieczeń MS05-004, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

887219 MS05-004: Luka w sprawdzaniu poprawności ścieżki programu ASP.NET umożliwia nieautoryzowany dostęp
Właściwości

Identyfikator artykułu: 894670 — ostatni przegląd: 14.04.2009 — zmiana: 1

Opinia