您目前已離線,請等候您的網際網路重新連線

沒有 POST 主體的 POST 要求可能會傳送至在 ISA Server 2006 發佈的網頁伺服器

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:942638
徵狀
考慮下列案例:
  • 您在 Microsoft 網際網路安全性與加速 ISA Server 2006 發佈網頁伺服器。
  • ISA Server 網頁接聽程式設定為使用 Windows 整合式 NTLM 驗證。
  • 使用者使用 Windows Internet Explorer 來存取 Web 伺服器。
在這種情況下可能會沒有 POST 主體的 POST 要求傳送至已發佈的網頁伺服器。這個問題可能會導致未預期的 Web 存取行為。
發生的原因
當 Internet Explorer 將 POST 要求傳送至使用 NTLM 驗證的 Web 網站時,Internet Explorer reauthenticates 與 Web 伺服器為每個 POST 要求。POST 本文並不會傳送給 Web 伺服器中第一個驗證信號交換。

如果 Internet Explorer 會傳送須要已經過驗證的 TCP 連線的 POST 要求,ISA Server 會繼續使用目前的驗證內容,而不是 reauthenticating 用戶端。在這種情況下並沒有 POST 主體 POST 要求會傳送至已發佈的網頁伺服器。
解決方案
如果要解決這個問題,請依照下列步驟執行:
  1. 套用下列 「 Microsoft 知識庫 」 文件中所述的 Hotfix 套件:
    942639ISA Server 2006 Hotfix 套件的描述: 2007 年 9 月 24,
  2. 啟動 [記事本]。
  3. 複製下列程式碼,然後將它貼到 [記事本]。

    Microsoft 僅,為了說明提供程式設計範例,不提供任何明示或默示的保證。這包括,但不限於適售性或適合某特定用途之默示擔保責任。本文假設您已熟悉使用我們所示範的程式設計語言以及建立和偵錯程序所使用的工具。Microsoft 技術支援工程師可以協助解釋特定程序的功能。不過,不會修改這些範例以提供附加功能或建構程序,以符合您特定需求。
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "EnablePOSTReauthentication"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 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
  4. 將檔案儲存為 Microsoft Visual Basic 指令碼檔案中,藉由使用.vbs 副檔名。比方說使用下列名稱來儲存檔案:
    EnablePOSTReauthentication.vbs
  5. 啟動命令提示字元、 變更到您要將 EnablePOSTReauthentication.vbs] 檔案儲存處的位置並再執行下列命令:
    cscript EnablePOSTReauthentication.vbs
附註若要還原為預設設定,編輯指令碼藉由變更 「 Const SE_VPS_VALUE = true"to"Const SE_VPS_VALUE = 設定為 False 時則"儲存指令碼,然後再執行一次。
狀況說明
Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。
空白的 POST 要求不含本文)

警告:本文為自動翻譯

內容

文章識別碼:942638 - 最後檢閱時間:10/19/2007 11:08:46 - 修訂: 1.1

Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition, Microsoft Internet Security and Acceleration Server 2006 Standard Edition

  • kbmt kbqfe kbexpertiseinter KB942638 KbMtzh
意見反應