قد تتلقى رسائل خطأ عند استعراض أو محاولة تصحيح تطبيق ASP.NET بعد تثبيت التحديث الأمني رقم 887219 (MS05-004)

ملخص

بعد تثبيت التحديث الأمني MS05-004، وبعد ذلك استعراض أو محاولة لتصحيح بعض تطبيقات ASP.NET، قد تواجهك أخطاء. توضح هذه المقالة رسائل مختلفة الأخطاء التي قد تظهر. كما يوفر الحلول لهذه المشاكل.

الأعراض

بعد تثبيت التحديث الأمني MS05-004، وبعد ذلك استعراض أو محاولة لتصحيح تطبيق Microsoft ASP.NET حيث عنوان URL يحتوي على خط مائل عكسي (\)، قد تتلقى إحدى رسائل الخطأ التالية:
تعذر العثور على المورد.


الوصف: HTTP 404. المورد الذي تبحث عنه (أو أحد تبعياته) قد تمت إزالتها أو تم تغيير اسمها أو غير متوفرة مؤقتاً. الرجاء مراجعة URL التالي وتأكد من كتابته بشكل صحيح.

حدث خطأ أثناء محاولة تشغيل المشروع: تعذر بدء التصحيح على ملقم ويب. تعذر بدء تشغيل ASP.NET أو تصحيح الأخطاء الخادم ATL. تأكد من أن خادم ASP.NET أو ATL مثبت حاليا على الملقم.

السبب

تحدث المشكلة إذا كان عنوان URL المحدد في تعريف خدمات معلومات إنترنت ل Microsoft (IIS) خط مائل عكسي.

الحل

لحل هذه المشكلة، إزالة خط مائل عكسي في قاعدة تعريف IIS لمحدد موقع المعلومات المحدد لتطبيق الويب المتأثرة. للقيام بذلك، استخدم إحدى الطرق التالية.

الطريقة الأولى: استخدام "إدارة IIS"

  1. انقر فوق ابدأ، ثم انقر فوق تشغيل، واكتب cmdوثم انقر فوق موافق.
  2. حدد موقع الدليل %systemroot%\system32\inetsrv.
  3. في موجه الأوامر، اكتب inetmgr لفتح "إدارة IIS".
  4. زر الماوس الأيمن فوق موقع ويب ل URL الذي تريد تغييره، ومن ثم انقر فوق خصائص.
  5. إذا كان التطبيق المتأثرة دليل ظاهري تحت موقع ويب، انقر فوق علامة التبويب الدليل وقم بإزالة خط مائل عكسي من المسار الذي تم تحديده في مربع المسار المحلي .

    إذا كان التطبيق المتأثرة في الدليل الجذر لموقع ويب، انقر فوق علامة التبويب الدليل الرئيسي ، وقم بإزالة خط مائل عكسي من المسار الذي تم تحديده في مربع المسار المحلي .
  6. انقر فوق تطبيق، ومن ثم انقر فوق موافق.

الطريقة الثانية: استخدام برنامج نصي vbs.

  1. استخدام tp نموذج التعليمات البرمجية التالي بإنشاء برنامج نصي.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. تشغيل البرنامج النصي.vbs من سطر الأوامر. للقيام بذلك، اتبع الخطوات التالية:
    1. انقر فوق ابدأ، ثم انقر فوق تشغيل، واكتب cmdوثم انقر فوق موافق.
    2. في موجه الأوامر، اكتب

      [اسم _ الملف.vbs] cscript.

      ملاحظة: اسم الملف عنصر نائب لاسم البرنامج النصي.vbs.
    3. لإغلاق موجه الأوامر، اكتب exit.

مزيد من المعلومات

بعد تطبيق هذا التحديث الأمني، ASP.NET إلى إجراء التحقيقات أكثر صرامة فيما يتعلق بصحة المسارات الفعلية والمسارات الظاهرية المطلوبة.

المراجع

لمزيد من المعلومات حول الأمان رقم MS05-004 التحديث، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

887219 MS05-004: قد تسمح مشكلة عدم حصانة التحقق من صحة مسار ASP.NET الوصول غير المصرح به

خصائص

رقم الموضوع: 894670 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 1

تعليقات