Demandes POST qui n'ont pas un corps POST peuvent être envoyées à un serveur Web qui est publié dans ISA Server 2006

Traductions disponibles Traductions disponibles
Numéro d'article: 942638 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Symptômes

Envisagez le scénario suivant :
  • Vous publiez un serveur Web dans Microsoft Internet Security and Acceleration (ISA) Server 2006.
  • Le port d'écoute ISA Server Web est configuré pour utiliser Windows intégrée l'authentification NTLM.
  • Un utilisateur utilise Windows Internet Explorer pour accéder au serveur Web.
Dans ce scénario, les demandes POST qui n'ont pas un corps POST peuvent être envoyées vers le serveur Web publié. Ce problème peut entraîner un comportement accès Web inattendu.

Cause

Lorsque Internet Explorer envoie une demande POST vers un site Web qui utilise l'authentification NTLM, Internet Explorer reauthenticates avec le serveur Web pour chaque demande POST. Le corps POST n'est pas envoyé au serveur Web dans la première négociation d'authentification.

Si Internet Explorer envoie une demande POST qui nécessite l'authentification sur une connexion TCP qui a déjà été authentifiée, ISA Server continue à utiliser le contexte de l'authentification en cours au lieu de reauthenticating le client. Dans ce cas, la demande POST qui ne dispose pas de corps POST est envoyée vers le serveur Web publié.

Résolution

Pour résoudre ce problème, procédez comme suit :
  1. Appliquer le package de correctif logiciel décrit dans l'article suivant de la base de connaissances Microsoft :
    942639 Description du package de correctifs ISA Server 2006 : 24 septembre 2007
  2. Démarrez le Bloc-notes.
  3. Copier le code suivant et collez-le dans le bloc-notes.

    Microsoft fournit des exemples de programmation pour illustration uniquement, sans garantie explicite ou implicite. Cela inclut, mais n'est pas limité aux garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous êtes familiarisé avec le langage de programmation présenté et les outils qui sont utilisés pour créer et déboguer des procédures. Les techniciens du support technique Microsoft peuvent vous expliquer les fonctionnalités d'une procédure particulière. Toutefois, ils ne modifieront pas les exemples en vue de fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques.
    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. Enregistrez le fichier dans un fichier de script Microsoft Visual Basic en utilisant l'extension de nom de fichier .vbs. Par exemple, utiliser le nom suivant pour enregistrer le fichier :
    EnablePOSTReauthentication.vbs
  5. Démarrez une invite de commandes, remplacez par l'emplacement auquel vous avez enregistré le fichier EnablePOSTReauthentication.vbs, puis exécutez la commande suivante :
    cscript EnablePOSTReauthentication.vbs
note Pour revenir à la valeur par défaut, modifiez le script en modifiant " SE_VPS_VALUE Const = true » à « constante SE_VPS_VALUE = false. » Enregistrez le script, puis exécutez-le à nouveau.

Statut

Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Propriétés

Numéro d'article: 942638 - Dernière mise à jour: vendredi 19 octobre 2007 - Version: 1.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition
  • Microsoft Internet Security and Acceleration Server 2006 Standard Edition
Mots-clés : 
kbmt kbqfe kbexpertiseinter KB942638 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 942638
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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