قد تتلقى رسائل خطأ عند استعراض أو محاولة تصحيح تطبيق 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 ExplicitDim objWebService, objWebSiteDim objSite, objArgs, strServerDim WshNetworkSet objArgs = WScript.ArgumentsIf objArgs.Length = 1 ThenstrServer = objArgs(0)ElseIf  objArgs.Length = 0 ThenSet WshNetwork = CreateObject("WScript.Network")strServer = WshNetwork.ComputerNameElseWScript.Echo "Usage: CScript ModifyVDir.vbs [servername]"WScript.QuitEnd IfWScript.Echo "Connecting to " & strServerSet objWebService = GetObject("IIS://" & strServer & "/W3SVC")For Each objWebSite in objWebServiceSet objSite = GetObject(objWebSite.AdsPath)If objSite.Class = "IIsWebServer" ThenWScript.Echo objSite.AdsPathEnumVDir objSite, 1End IfNextWScript.Echo "Done processing."Sub EnumVDir(objVDir, i)Dim objSubVDir, objDirDim strNewPathFor Each objSubVDir in objVDirIf objSubVDir.Class = "IIsWebVirtualDir" ThenSet objDir = GetObject(objSubVDir.AdsPath)If ((Right(objDir.Path, 1) = "\") and (Right(objDir.Path, 2) <> ":\")) ThenWScript.Echo Space(i*3) & objDir.AdsPathWScript.Echo Space(i*3) & "Path = " & objDir.PathstrNewPath = Left(objDir.Path, Len(objDir.Path) - 1)WScript.Echo Space(i*3) & "New Path = " & strNewPathobjDir.Put "Path", strNewPathobjDir.SetInfoEnd IfEnumVDir objDir, i + 1End IfNextEnd Sub
  2. تشغيل البرنامج النصي.vbs من سطر الأوامر. للقيام بذلك، اتبع الخطوات التالية:
    1. انقر فوق ابدأ وانقر فوق تشغيل ثم اكتب cmd ثم انقر فوق موافق.
    2. في موجه الأوامر، اكتب cscript [اسم _ الملف.vbs]. ملاحظة:اسم الملف عنصر نائب لاسم البرنامج النصي.vbs.
    3. لإغلاق موجه الأوامر، اكتب exit.

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


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

المراجع


لمزيد من المعلومات حول الأمان رقم MS05-004 التحديث، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
887219 MS05-004: قد تسمح مشكلة عدم حصانة التحقق من صحة مسار ASP.NET الوصول غير المصرح به