คุณอาจได้รับข้อความแสดงข้อผิดพลาดเมื่อคุณเรียกดู หรือความพยายามที่ตรวจแก้จุดบกพร่องโปรแกรมประยุกต์ ASP.NET หลังจากที่คุณติดตั้งการปรับปรุงการรักษาความปลอดภัย 887219 (MS05-004)

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 894670 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

หลังจากที่คุณติดตั้งการปรับปรุงการรักษาความปลอดภัย MS05-004 และจากนั้นคุณเรียกดู หรือความพยายามที่ตรวจแก้จุดบกพร่องของโปรแกรมประยุกต์บางโปรแกรม ASP.NET คุณอาจพบข้อผิดพลาด บทความนี้อธิบายถึงข้อความแสดงข้อผิดพลาดต่าง ๆ ที่คุณอาจได้รับ และยังให้วิธีแก้ปัญหาสำหรับปัญหาเหล่านี้

อาการ

หลังจากที่คุณติดตั้งการปรับปรุงการรักษาความปลอดภัย MS05-004 และจากนั้นคุณเรียกดู หรือความพยายามที่ตรวจแก้จุดบกพร่องของโปรแกรมประยุกต์ Microsoft ASP.NET ที่ที่ URL ที่ประกอบด้วยเครื่องหมายทับคำต่อท้ายขวา (\), คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้อย่างใดอย่างหนึ่ง:
ไม่พบทรัพยากร
คำอธิบาย: HTTP 404 ทรัพยากรคุณกำลังค้นหา (หรือการอ้างอิงอย่างใดอย่างหนึ่ง) ไม่ได้ถูกเอาออก การเปลี่ยนชื่อ หรือไม่พร้อมใช้งานชั่วคราว กรุณาตรวจสอบ URL ต่อไปนี้ และตรวจสอบให้แน่ใจว่าที่อยู่นั้นสะกดอย่างถูกต้อง

ข้อผิดพลาดขณะพยายามเรียกใช้โครงการ: ไม่สามารถเริ่มการทำงานการดีบักบนเว็บเซิร์ฟเวอร์ ไม่สามารถเริ่มต้น ASP.NET หรือการดีบัก ATL เซิร์ฟเวอร์ ตรวจสอบว่า เซิร์ฟเวอร์ ASP.NET หรือ ATL ถูกติดตั้งอยู่บนเซิร์ฟเวอร์

สาเหตุ

ปัญหาเกิดขึ้นหาก URL ที่ระบุใน metabase บริการข้อมูลทางอินเทอร์เน็ตของ Microsoft (IIS) ประกอบด้วยเครื่องหมายทับขวาคำต่อท้าย

การแก้ไข

เมื่อต้องการแก้ไขปัญหานี้ ให้ลบเครื่องหมายทับขวาที่ต่อท้ายใน IIS metabase สำหรับ URL ที่ระบุสำหรับโปรแกรมประยุกต์เว็บได้รับผลกระทบ เมื่อต้องการทำเช่นนี้ ให้ใช้วิธีการใดวิธีการหนึ่งต่อไปนี้

วิธีที่ 1: ใช้ตัวจัดการ IIS

  1. คลิกเริ่มการทำงานคลิกเรียกใช้ประเภท:cmdแล้ว คลิกตกลง.
  2. ค้นหาไดเรกทอรี %systemroot%\system32\inetsrv
  3. ที่พรอมต์คำสั่ง พิมพ์:inetmgrเมื่อต้องการเปิดโปรแกรมจัดการ IIS
  4. คลิกขวาเว็บไซต์สำหรับ URL ที่คุณต้อง การเปลี่ยนแปลง แล้ว คลิกคุณสมบัติ.
  5. หาก ไดเรกทอรีเสมือนภายใต้เว็บไซต์โปรแกรมประยุกต์ที่ได้รับผลกระทบ คลิกการไดเรกทอรีแท็บ และเอาเครื่องหมายทับขวาที่ต่อท้ายจากเส้นทางที่ระบุไว้ในนั้นเส้นทางภายในกล่องข้อความ

    หากโปรแกรมประยุกต์ที่ได้รับผลกระทบในไดเรกทอรีรากของเว็บไซต์ คลิกการไดเรกทอรีภายในบ้านแท็บ และเอาเครื่องหมายทับขวาที่ต่อท้ายจากเส้นทางที่ระบุไว้ในนั้นเส้นทางภายในกล่องข้อความ
  6. คลิกนำไปใช้แล้ว คลิกตกลง.

วิธีที่ 2: ใช้สคริปต์.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. ที่พรอมต์คำสั่ง พิมพ์:cscript [file_name.vbs].

      หมายเหตุ:file_nameเป็นตัวยึดสำหรับชื่อของสคริปต์.vbs ของคุณ
    3. เมื่อต้องปิดพรอมต์คำสั่ง พิมพ์exit.

ข้อมูลเพิ่มเติม

หลังจากที่คุณใช้การปรับปรุงการรักษาความปลอดภัยนี้ ASP.NET ทำการตรวจสอบ stricter สำหรับความถูกต้องทั้ง ของเส้นทางกายภาพ และ ของเส้นทางเสมือนที่ร้องขอ

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรักษาความปลอดภัย MS05-004 อัพเด คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
887219ms05-004: ช่องโหว่การตรวจสอบเส้นทางของ ASP.NET อาจทำให้การเข้าถึงที่ไม่ได้รับอนุญาต

คุณสมบัติ

หมายเลขบทความ (Article ID): 894670 - รีวิวครั้งสุดท้าย: 15 มกราคม 2554 - Revision: 3.0
ใช้กับ
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.0 Service Pack 3
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.1 Service Pack 1
Keywords: 
kbhttp404 kbdev kbasp kbtshoot kberrmsg kbprb kbmt KB894670 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:894670

ให้ข้อเสนอแนะ

 

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