Запросов POST, которые не имеют тела POST могут быть отправлены на веб-сервере, который публикуется в ISA Server 2006

Переводы статьи Переводы статьи
Код статьи: 942638 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Проблема

Рассмотрим описанную ниже ситуацию.:
  • Публикация веб-сервера в Microsoft Internet Security and Acceleration (ISA) Server 2006.
  • Веб-сервера ISA прослушиватель настроен на использование Windows встроенную ПРОВЕРКУ подлинности NTLM.
  • Пользователь использует Windows Internet Explorer для доступа к веб-сервера.
В этом случае запросы POST, которые не имеют тела POST могут отправляться на опубликованный веб-сервер. Эта проблема может привести к неожиданному поведению доступа в Интернет.

Причина

Когда Internet Explorer отправляет запрос POST для веб-узла, использующего проверку подлинности NTLM, Internet Explorer подлинности веб-сервере для каждого запроса POST. Тела POST не отправляется на веб-сервер в первый подтверждения проверки подлинности.

Если обозреватель отправляет запрос POST, который требует повторной проверки подлинности для подключения TCP, которое уже прошел проверку подлинности, ISA Server продолжает использовать текущий контекст проверки подлинности, а не reauthenticating клиента. In this situation, the POST request that does not have a POST body is sent to the published Web server.

Решение

Для устранения проблемы последовательно выполните приведенные ниже действия.:
  1. Примените исправление, описанное в следующей статье Microsoft Knowledge Base:
    942639Description of the ISA Server 2006 hotfix package: September 24, 2007
  2. Запустить «Блокнот»..
  3. Скопируйте следующий код и вставьте его в программе «Блокнот».

    Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации, без каких-либо явных или подразумеваемых гарантий.. Включая, но не ограничивая, подразумеваемые гарантии товарности или пригодности для использования в определенных целях.. В данной статье предполагается, что вы знакомы с языком программирования предложенном в примере, а также с средствами, которые используются для создания и отладки.. Сотрудники службы поддержки Майкрософт могут объяснить работу конкретной процедуры, но не. будут изменять примеры для реализации дополнительных возможностей или удовлетворения требований конкретных пользователей..
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
    Const SE_VPS_NAME = "EnablePOSTReauthentication"
    Const SE_VPS_VALUE = true
    
    Sub 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 If
    
    End Sub
    
    Sub CheckError()
    
        If Err.Number <> 0 Then
            WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
            Err.Clear
        End If
    
    End Sub
    
    SetValue
    
  4. Сохраните файл как файл сценария Microsoft Visual Basic, используя расширение .vbs. Например можно используйте следующее имя файла:
    EnablePOSTReauthentication.vbs
  5. Start a command prompt, change to the location at which you saved the EnablePOSTReauthentication.vbs file, and then run the following command:
    cscript EnablePOSTReauthentication.vbs
Примечание.To revert to the default setting, edit the script by changing "Const SE_VPS_VALUE = true" to "Const SE_VPS_VALUE = false." Save the script, and then run it again.

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Майкрософт, перечисленных в разделе «Применяется к»..

Свойства

Код статьи: 942638 - Последний отзыв: 28 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition
  • Microsoft Internet Security and Acceleration Server 2006 Standard Edition
Ключевые слова: 
kbqfe kbexpertiseinter kbmt KB942638 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:942638

Отправить отзыв

 

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