COMMENT : Utiliser des pages ASP à Force de SSL pour des Pages spécifiques

Nous recommandons fortement que tous les utilisateurs se mettent à niveau vers la version 7.0 de Microsoft Internet Information Services (IIS) en cours d'exécution sur Microsoft Windows Server 2008. IIS 7.0 augmente considérablement la sécurité d’infrastructure Web. Pour plus d’informations sur les questions liées à la sécurité IIS, visitez le site Web de Microsoft à l’adresse suivante :Pour plus d’informations sur IIS 7.0, visitez le site Web de Microsoft à l’adresse suivante :

Résumé

Il est souvent recommandé d’exiger Secure Sockets Layer (SSL) pour certaines pages d’un site Web. Même si elle peut être configurée via Internet Services Manager (ISM) dans Microsoft Management Console (MMC), vous pouvez également utiliser des pages Active Server Pages (ASP) pour forcer SSL pour des pages spécifiques, sans apporter de modifications dans la console MMC.


Conditions préalables

Cet article suppose que les conditions suivantes :

  • IIS est en cours d’exécution sur les ports standard :
    • HTTP = Port 80
    • HTTPS = Port 443
  • IIS possède un certificat SSL valide est installé.
  • Le site Web ou un serveur virtuel qui est utilisé n’utilise pas d’en-têtes d’hôte HTTP/1.1 pour la résolution de nom.

Forcer SSL à l’aide d’ASP

Pour forcer le SSL à l’aide d’ASP, procédez comme suit :
  1. Cliquez sur Démarrer, sur exécuter, tapez Notepad, puis cliquez sur OK.
  2. Collez le code suivant dans un document vide du bloc-notes. Dans le menu fichier , cliquez sur Enregistrer sous, puis enregistrez le code suivant à la racine de votre serveur Web sous la forme d’un fichier include nommé ForceSSL.inc:
    <%   If Request.ServerVariables("SERVER_PORT")=80 Then
    Dim strSecureURL
    strSecureURL = "https://"
    strSecureURL = strSecureURL & Request.ServerVariables("SERVER_NAME")
    strSecureURL = strSecureURL & Request.ServerVariables("URL")
    Response.Redirect strSecureURL
    End If
    %>

  3. Pour chaque page nécessitant SSL, collez le code suivant en haut de la page pour référencer le fichier include à partir de l’étape précédente :
    <%@Language="VBSCRIPT"%><!--#include virtual="/ForceSSL.inc"-->

    Lorsque chaque page est consultée, le code ASP se trouvant dans le fichier include détecte le port pour déterminer si le protocole HTTP est utilisé. Si le protocole HTTP est utilisé, le navigateur sera redirigé sur la même page à l’aide de HTTPS.

Références

187504 les en-têtes HTTP 1.1 hôte ne sont pas pris en charge lorsque vous utilisez SSL
228991 comment créer et installer un certificat SSL dans Internet Information Server 4.0
228836 installation d’un nouveau certificat avec l’Assistant de certificat destiné à SSL/TLS
Description de 257591 de la poignée de main Secure Sockets Layer (SSL)
Propriétés

ID d'article : 239875 - Dernière mise à jour : 9 janv. 2017 - Révision : 1

Commentaires