תופעות
כאשר משתמש ניגש אל אתר האינטרנט של SharePoint שפורסם באבטחת אינטרנט של Microsoft והאצת בארכיטקטורת ISA Server 2006, ISA Server 2006 SP1 או חיוני Business Server 2008, המשתמש עלולה להתקבל אחת מהודעות השגיאה הבאות: שגיאה הודעה 1
HTTP 401 לא מורשה
הודעת שגיאה 2
HTTP 500 השרת דחה את אחיד משאב Locator (URL) המצוין. פנה למנהל השרת.
בעיה זו מתרחשת כאשר מתקיימים התנאים הבאים:
-
מאזין אינטרנט העושה שימוש הכלל פרסום אינטרנט של SharePoint, אימות טופס HTML מוגדר.
-
לקוח האינטרנט שולח בקשת POST אל אתר האינטרנט של SharePoint.
-
כתובת ה-URL של בקשת POST מכיל תווים מורחבים. לדוגמה, כתובת ה-URL מכילה é, היא או è.
סיבה
בעיה זו מתרחשת מאחר ISA Server או חיוני Business Server 2008 אין אפשרות לנתח את מבנה הטקסט URL המכיל תווים מורחבים. במקרה זה, ISA Server או חיוני Business Server 2008 דוחה את בקשת POST השולחת על-ידי הלקוח.
פתרון
כדי לפתור בעיה זו, בצע את הפעולות הבאות:
-
החל את התיקון החם המתואר במאמר מתוך מאגר הידע Microsoft Knowledge Base 940250. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
940250 תיאור חבילת התיקון החם עבור ISA Server 2006: 16 ביולי, 2007
-
העתק את קובץ ה-script הבא לתוך ' פנקס רשימות ':הערה כדי לפתור בעיה זו ב- ISA Server 2006, היעזר בתסריט הבא. אין צורך להחיל את התיקון החם במאמר זה עבור ISA Server 2006 SP1, אך עליך להשתמש קובץ ה-script.
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "CookieFilterDecodeUEncoding"Const SE_VPS_VALUE = trueSub SetValue() ' Create the root object. Dim root ' The FPCLib.FPC root object Set root = CreateObject("FPC.Root") 'Declare the other objects that are needed. Dim array ' An FPCArray object Dim VendorSets ' An FPCVendorParametersSets collection Dim VendorSet ' An FPCVendorParametersSet object ' Get references to the array object ' and to the network rules collection. Set array = root.GetContainingArray Set VendorSets = array.VendorParametersSets On Error Resume Next Set VendorSet = VendorSets.Item( SE_VPS_GUID ) If Err.Number <> 0 Then Err.Clear ' Add the item Set VendorSet = VendorSets.Add( SE_VPS_GUID ) CheckError WScript.Echo "New VendorSet added... " & VendorSet.Name Else WScript.Echo "Existing VendorSet found... value- " & VendorSet.Value(SE_VPS_NAME) End If if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then Err.Clear VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE If Err.Number <> 0 Then CheckError Else VendorSets.Save false, true CheckError If Err.Number = 0 Then WScript.Echo "Done with " & SE_VPS_NAME & ", saved!" End If End If Else WScript.Echo "Done with " & SE_VPS_NAME & ", no change!" End IfEnd SubSub CheckError() If Err.Number <> 0 Then WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description Err.Clear End IfEnd SubSetValue
-
שמור את הקובץ כקובץ script Microsoft Visual Basic באמצעות הסיומת של שם קובץ vbs. לדוגמה, שמור את הקובץ על-ידי שימוש בשם הבא:
EnableKB940248.vbs
-
בשורת פקודה, להעביר אל המיקום שבו שמרת את הקובץ EnableKB940248.vbs.
-
הפעל את הפקודה הבאה:
cscript EnableKB940248.vbs
הערה לאחר ביצוע שלבים אלה, רק החלק השאילתה של כתובת ה-URL יכול להכיל תווים מורחבים. החלק שאילתה אחרי סימן השאלה (?) בכתובת ה-URL. החלק המגיע לפני סימן שאלה בכתובת ה-URL אינה יכולה להכיל תווים מורחבים, אפילו לאחר שימוש בפתרון זה. אם ברצונך להסיר את השינויים שבוצעו בעת הפעלת קובץ ה-script בשלב 5, הפעל את קובץ ה-script שלהלן:
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "CookieFilterDecodeUEncoding"Const SE_VPS_VALUE = FalseSub SetValue()' Create the root object.Dim root ' The FPCLib.FPC root objectroot = CreateObject("FPC.Root")'Declare the other objects that are needed.Dim array ' An FPCArray objectDim VendorSets ' An FPCVendorParametersSets collectionDim VendorSet ' An FPCVendorParametersSet object' Get references to the array object' and to the network rules collection.array = root.GetContainingArrayVendorSets = array.VendorParametersSetsOn Error Resume NextVendorSet = VendorSets.Item(SE_VPS_GUID)If Err.Number <> 0 ThenErr.Clear()' Add the itemVendorSet = VendorSets.Add(SE_VPS_GUID)CheckError()WScript.Echo("New VendorSet added... " & VendorSet.Name)ElseWScript.Echo("Existing VendorSet found... value- " & VendorSet.Value(SE_VPS_NAME))End IfIf VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE ThenErr.Clear()VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUEIf Err.Number <> 0 ThenCheckError()ElseVendorSets.Save(False, True)CheckError()If Err.Number = 0 ThenWScript.Echo("Done with " & SE_VPS_NAME & ", saved!")End IfEnd IfElseWScript.Echo("Done with " & SE_VPS_NAME & ", no change!")End IfEnd SubSub CheckError()If Err.Number <> 0 ThenWScript.Echo("An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description)Err.Clear()End IfEnd SubSetValue Change to:[INSERT CORRECTION]Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "CookieFilterDecodeUEncoding"Const SE_VPS_VALUE = falseSub SetValue()' Create the root object.Dim root ' The FPCLib.FPC root objectSet root = CreateObject("FPC.Root")'Declare the other objects that are needed.Dim array ' An FPCArray objectDim VendorSets ' An FPCVendorParametersSets collectionDim VendorSet ' An FPCVendorParametersSet object' Get references to the array object' and to the network rules collection.Set array = root.GetContainingArraySet VendorSets = array.VendorParametersSetsOn Error Resume NextSet VendorSet = VendorSets.Item( SE_VPS_GUID )If Err.Number <> 0 ThenErr.Clear' Add the itemSet VendorSet = VendorSets.Add( SE_VPS_GUID )CheckErrorWScript.Echo "New VendorSet added... " & VendorSet.NameElseWScript.Echo "Existing VendorSet found... value- " & VendorSet.Value(SE_VPS_NAME)End Ifif VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE ThenErr.ClearVendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUEIf Err.Number <> 0 ThenCheckErrorElseVendorSets.Save false, trueCheckErrorIf Err.Number = 0 ThenWScript.Echo "Done with " & SE_VPS_NAME & ", saved!"End IfEnd IfElseWScript.Echo "Done with " & SE_VPS_NAME & ", no change!"End IfEnd SubSub CheckError()If Err.Number <> 0 ThenWScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.DescriptionErr.ClearEnd IfEnd SubSetValue
מצב
Microsoft אישרה כי מדובר בבעיה במוצרי Microsoft הרשומים במקטע 'חל על'.