Solicitações POST que não têm um corpo POST podem ser enviadas para um servidor Web que é publicado no ISA Server 2006

Traduções deste artigo Traduções deste artigo
ID do artigo: 942638 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sintomas

Considere o seguinte cenário:
  • Você pode publicar um servidor Web no Microsoft Internet Security and Acceleration (ISA) Server 2006.
  • O ouvinte da Web do ISA Server é configurado para usar autenticação NTLM integrada do Windows.
  • Um usuário usa o Windows Internet Explorer para acessar o servidor Web.
Nesse cenário, solicitações POST que não têm um corpo POST podem ser enviadas para o servidor Web publicado. Esse problema pode causar comportamento inesperado de acesso à Web.

Causa

Quando Internet Explorer envia uma solicitação POST em um site que usa autenticação NTLM, o Internet Explorer reauthenticates com o servidor Web para cada solicitação POST. O corpo do POST não é enviado para o servidor Web o primeiro handshake de autenticação.

Se o Internet Explorer envia uma solicitação POST que exige nova autenticação em uma conexão TCP que já foi autenticada, o ISA Server continuará a usar o contexto de autenticação atual em vez de reauthenticating o cliente. Nessa situação, a solicitação POST que não tem um corpo do POST é enviada para o servidor Web publicado.

Resolução

Para resolver esse problema, execute essas etapas:
  1. Aplicar o hotfix descrito no seguinte artigo Base de dados de Conhecimento Microsoft:
    942639Descrição do hotfix do ISA Server 2006: 24 de setembro de 2007
  2. Inicie o bloco de notas.
  3. Copie o código a seguir e cole-o no bloco de notas.

    Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento. No entanto, eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades.
    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. Salve o arquivo como um arquivo de script do Microsoft Visual Basic usando a extensão de nome de arquivo .vbs. Por exemplo, use o seguinte nome para salvar o arquivo:
    EnablePOSTReauthentication.vbs
  5. Inicie um prompt de comando, mude para o local em que você salvou o arquivo EnablePOSTReauthentication.vbs e, em seguida, execute o seguinte comando:
    cscript EnablePOSTReauthentication.vbs
Observação Para reverter para a configuração padrão, edite o script alterando "SE_VPS_VALUE Const = true"para"SE_VPS_VALUE const = FALSO." Salve o script e executá-lo novamente.

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Propriedades

ID do artigo: 942638 - Última revisão: sexta-feira, 19 de outubro de 2007 - Revisão: 1.1
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition
  • Microsoft Internet Security and Acceleration Server 2006 Standard Edition
Palavras-chave: 
kbmt kbqfe kbexpertiseinter KB942638 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 942638

Submeter comentários

 

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