Você está offline; aguardando reconexão

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

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
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 = 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. 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".
solicitação POST em branco sem corpo

Propriedades

ID do Artigo: 942638 - Última Revisão: 10/19/2007 11:08:46 - Revisão: 1.1

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

  • kbmt kbqfe kbexpertiseinter KB942638 KbMtpt
Comentários
qid"; document.getElementsByTagName("head")[0].appendChild(m);