Comment faire pour créer une page Web protégée par mot de passe à l’aide d’Expression Web, Active Server Pages et une base de données Access

Résumé

Cet article étape par étape décrit comment créer une page Web simple solution qui fournit une protection de mot de passe à l’aide de Microsoft Expression Web, Active Server Pages (ASP) et une base de données Microsoft Access.
  • L’exemple de code dans cet article n’est pas conçu pour remplacer les fonctionnalités de sécurité intégrées d’Expression Web. Les exemples sont conçus pour fournir un mécanisme simple de sécurité uniquement pour les utilisateurs qui naviguent sur votre site Web. Par conséquent, la sécurité d’Expression Web ne s’intègre pas avec les noms d’utilisateur et les mots de passe qui sont ajoutés à la base de données Access.
  • Les noms d’utilisateur et les mots de passe doivent être tapées en sont transmises sur Internet au format texte brut. Pour renforcer la sécurité, nous vous conseillons d’utiliser un serveur Web qui peut utiliser le cryptage Secure Sockets Layer (SSL). Pour plus d’informations, contactez votre administrateur de site Web ou votre fournisseur de services Internet (ISP).

Introduction

Cet article décrit comment créer une page Web qui est protégée par mot de passe à l’aide d’Expression Web, ASP et une base de données Access.

Plus d'informations

Utilisation des fonctionnalités ASP dans Expression Web

Avant d’utiliser les fonctionnalités ASP dans Expression Web, vous devez avoir accès à un serveur Web ou un site Web sur disque qui prend en charge ASP..

Créer un nouveau site Web dans Expression Web

Remarque L’exemple suppose que vous nommez une ouverture de session du site Web et que le site d’ouverture de session est créé en tant que sous-application Web sous la racine de votre site Web. Si vous utilisez un nom de connexion, ou que vous créez un site Web dans un autre emplacement, vous devez modifier les étapes décrites dans cet article en conséquence.

Pour créer un nouveau site Web dans Expression Web, procédez comme suit :
  1. Lancez Expression Web.
  2. Dans le menu fichier , cliquez sur Nouveau, puis cliquez sur site Web.
  3. Dans la boîte de dialogue Nouveau , cliquez sur Site Web vide dans l’onglet Site Web .
  4. Dans la zone Indiquez l’emplacement du nouveau site Web , tapez l’emplacement où vous souhaitez stocker le nouveau site Web dans le format suivant :

    http://servername/logon
  5. Cliquez sur OK.
Le nouveau site Web vide qui est nommé "Logon" est ouvert dans Expression Web.

Créer une base de données

Vous pouvez créer la base de données pour stocker des noms d’utilisateur et mots de passe en utilisant un programme de base de données tel que Microsoft Office Access 2003.

Remarque Si vous utilisez un programme de base de données autre qu’Access 2003 pour créer la base de données, modifiez ces étapes en conséquence.

Pour créer une base de données, procédez comme suit :
  1. Démarrez Access 2003.
  2. Dans le menu fichier , cliquez sur Nouveau.
  3. Dans le volet Office, cliquez sur base de données vide.
  4. Tapez logon.mdb pour le nom de fichier, puis cliquez sur créer.
  5. Dans le volet objets , cliquez sur Tables, puis cliquez sur Nouveau.
  6. Cliquez sur Mode Création, puis cliquez sur OK.
  7. Dans la première ligne de la colonne Nom du champ , tapez UID.
  8. Dans la colonne Type de données correspondante, cliquez sur texte, puis cliquez sur le bouton Clé primaire dans la barre d’outils.

    Remarque Le bouton de la Clé primaire s’affiche sous la forme d’un symbole de clé.
  9. Dans la deuxième ligne de la colonne Nom du champ , tapez le mot de passe, puis cliquez sur le texte de la deuxième ligne de la colonne Type de données .
  10. Dans le menu fichier, cliquez sur Enregistrer.
  11. Dans la zone Nom de la Table , tapez tblUsers, puis cliquez sur OK.
  12. Dans le menu affichage , cliquez sur Mode feuille de données.
  13. Dans la colonne UID , tapez testuser.
    Dans la colonne de mot de passe , tapez le mot de passe.
  14. Dans le menu fichier , cliquez sur Fermeret quittez Access 2003.
Remarque Pour des raisons de sécurité, les mots de passe sont limités à une combinaison de lettres majuscules, de minuscules et de chiffres.

Importer la base de données

Importer la base de données que vous avez créé pour la banque de noms d’utilisateur et mots de passe dans Expression Web. Pour ce faire, procédez comme suit :
  1. Dans Expression Web, ouvrez votre site Web de connexion, cliquez sur Importer dans le menu fichier , puis cliquez sur fichier.
  2. Cliquez sur Ajouter un fichier, recherchez puis cliquez sur le fichier logon.mdb que vous avez créé et puis cliquez sur Ouvrir.
  3. Cliquez sur Modifier, tapez _private/logon.mdb dans la zone de texte emplacement du fichier dans votre site web , puis cliquez sur OK.

    Remarque Il existe un caractère de soulignement (_) devant « private » dans le chemin d’accès du fichier.
  4. Cliquez sur OK pour importer le fichier de base de données.
  5. Si vous êtes invité à créer une connexion de base de données pour ce fichier importé, cliquez sur non.

Création des pages ASP

Vous devez créer plusieurs fichiers pour travailler avec cet exemple. Tout d’abord, créez une page d’accueil pour votre site Web, une page « non sécurisée » et une page protégée pour le test, la page Web d’ouverture de session, et l’ouverture de session sont des fichiers.

Microsoft fournit des exemples de programmation à titre d'illustration uniquement, sans garantie expresse ou implicite. Ceci inclut, mais n'est pas limité à, les 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 utilisés pour créer et déboguer des procédures. Les ingénieurs du support technique Microsoft peuvent aider à expliquer la fonctionnalité d'une procédure particulière. Toutefois, ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques.

Créer la page d’accueil

Cette page sert de page par défaut pour votre site. Elle inclut des liens vers la page non sécurisée et la page Web protégée que vous créez. Pour créer une page d’accueil, procédez comme suit :
  1. Dans Expression Web, cliquez sur Nouveau dans le menu fichier , puis cliquez sur Page.
  2. Dans la boîte de dialogue Nouveau , cliquez sur HTML dans l’onglet de la Page , puis cliquez sur OK.
  3. Dans la zone de pied de page de la fenêtre de document, cliquez sur Code pour afficher le mode code.
  4. Sélectionnez et supprimez tout le code HTML de la page Web.
  5. Tapez ou collez le code HTML suivant dans la page Web.
    <% @language="vbscript" %><html>
    <head><title>Home Page</title></head>
    <body>
    <h3>Home Page</h3>
    <p>You are logged on as:
    <%
    If Len(Session("UID")) = 0 Then
    Response.Write "<b>You are not logged on.</b>"
    Else
    Response.Write "<b>" & Session("UID") & "</b>"
    End If
    %>
    </p>
    <ul>

    <li><a href="passwordprotect.asp">Password-Protected Page</a></li>
    <li><a href="nonsecure.asp">Nonsecure Page</a></li>

    </ul>
    </body>
    </html>
  6. Enregistrez la page sous default.asp dans le dossier racine de votre site de Web d’ouverture de session.
  7. Dans le menu fichier , cliquez sur Fermer pour fermer la page Web default.asp.

Créer la page non sécurisée

Créer une page ASP par défaut tout le monde peut afficher. Pour créer une page non sécurisée, procédez comme suit :
  1. Dans Expression Web, cliquez sur Nouveau dans le menu fichier , puis cliquez sur Page.
  2. Dans la boîte de dialogue Nouveau , cliquez sur HTML dans l’onglet de la Page , puis cliquez sur OK.
  3. Dans la zone de pied de page de la fenêtre de document, cliquez sur Code pour afficher le mode code.
  4. Sélectionnez et supprimez tout le code HTML de la page Web.
  5. Tapez ou collez le code HTML suivant dans la page Web.
    <% @language="vbscript" %><html>
    <head><title>Nonsecure Page</title></head>
    <body>
    <h3>Nonsecure Page</h3>
    <p>You are logged on as:
    <%
    If Len(Session("UID")) = 0 Then
    Response.Write "<b>You are not logged on.</b>"
    Else
    Response.Write "<b>" & Session("UID") & "</b>"
    End If
    %>
    </p>
    <p><a href="default.asp">Back to default</a></p>
    </body>
    </html>
  6. Enregistrez la page sous nonsecure.asp dans le dossier racine de votre site de Web d’ouverture de session.
  7. Dans le menu fichier , cliquez sur Fermer pour fermer la page Web nonsecure.asp.

Créer la page protégée

La page de cette étape est identique à la page Web non sécurisée créée précédemment, à ceci près que vous devez ajouter le code suivant en haut du mode code :
<!--#include virtual="/logon/_private/logon.inc"-->
Lorsque vous ajoutez cette ligne de code à une page ASP, cette page devient protégée par mot de passe par le fichier logon.inc que vous créez. Pour créer une page Web protégée par mot de passe, procédez comme suit :
  1. Dans Expression Web, cliquez sur Nouveau dans le menu fichier , puis cliquez sur Page.
  2. Dans la boîte de dialogue Nouveau , cliquez sur HTML dans l’onglet de la Page , puis cliquez sur OK.
  3. Dans la zone de pied de page de la fenêtre de document, cliquez sur Code pour afficher le mode code.
  4. Sélectionnez et supprimez tout le code HTML de la page Web.
  5. Tapez ou collez le code HTML suivant dans la page Web.
    <% @language="vbscript" %><!--#include virtual="/logon/_private/logon.inc"-->
    <html>
    <head><title>Password-Protected Page</title></head>
    <body>
    <h3>Password-Protected Page</h3>
    <p>You are logged on as:
    <%
    If Len(Session("UID")) = 0 Then
    Response.Write "<b>You are not logged on.</b>"
    Else
    Response.Write "<b>" & Session("UID") & "</b>"
    End If
    %>
    </p>
    <p><a href="default.asp">Back to default</a>
    </body>
    </html>
  6. Enregistrez la page sous passwordprotect.asp dans le dossier racine de votre site de Web d’ouverture de session.
  7. Dans le menu fichier , cliquez sur Fermer pour fermer la page Web passwordprotect.asp.

Création de la page d’ouverture de session

Créer une ouverture de session page ressemble à une boîte de dialogue d’ouverture de session Windows classique. Les utilisateurs qui tentent d’accéder à la page Web protégée sont envoyés à cette page à taper leur nom d’utilisateur et les mots de passe. Pour créer une page d’ouverture de session, procédez comme suit :
  1. Dans Expression Web, cliquez sur Nouveau dans le menu fichier , puis cliquez sur Page.
  2. Dans la boîte de dialogue Nouveau , cliquez sur HTML dans l’onglet de la Page , puis cliquez sur OK.
  3. Dans la zone de pied de page de la fenêtre de document, cliquez sur Code pour afficher le mode code.
  4. Sélectionnez et supprimez tout le code HTML de la page Web.
  5. Tapez ou collez le code HTML suivant dans la page Web.
    <% @language="vbscript" %><!--#include virtual="/logon/_private/logon.inc"-->
    <%
    ' Was this page posted to?
    If UCase(Request.ServerVariables("HTTP_METHOD")) = "POST" Then
    ' If so, check the username/password that was entered.
    If ComparePassword(Request("UID"),Request("PWD")) Then
    ' If comparison was good, store the user name...
    Session("UID") = Request("UID")
    ' ...and redirect back to the original page.
    Response.Redirect Session("REFERRER")
    End If
    End If
    %>
    <html>
    <head><title>Logon Page</title>
    <style>
    body { font-family: arial, helvetica }
    table { background-color: #cccccc; font-size: 9pt; padding: 3px }
    td { color: #000000; background-color: #cccccc; border-width: 0px }
    th { color: #ffffff; background-color: #0000cc; border-width: 0px }
    </style>
    </head>
    <body bgcolor="#000000" text="#ffffff">
    <h3 align="center">&#xa0;</h3>
    <div align="center"><center>
    <form action="<%=LOGON_PAGE%>" method="POST">
    <table border="2" cellpadding="2" cellspacing="2">
    <tr>
    <th colspan="4" align="left">Enter User Name and Password</th>
    </tr>
    <tr>
    <td>&#xa0;</td>
    <td colspan="2" align="left">Please type your user name and password.</td>
    <td>&#xa0;</td>
    </tr>
    <tr>
    <td>&#xa0;</td>
    <td align="left">Site</td>
    <td align="left"><%=Request.ServerVariables("SERVER_NAME")%> &#xa0;</td>
    <td>&#xa0;</td>
    </tr>
    <tr>
    <td>&#xa0;</td>
    <td align="left">User Name</td>
    <td align="left"><input name="UID" type="text" size="20"></td>
    <td>&#xa0;</td>
    </tr>
    <tr>
    <td>&#xa0;</td>
    <td align="left">Password</td>
    <td align="left"><input name="PWD" type="password" size="20"></td>
    <td>&#xa0;</td>
    </tr>
    <tr>
    <td>&#xa0;</td>
    <td colspan="2" align="center"><input type="submit" value="LOGON"></td>
    <td>&#xa0;</td>
    </tr>
    </table>
    </form>
    </center></div>
    </body>
    </html>
  6. Enregistrez la page sous le nom logon.asp dans le dossier racine de votre site de Web d’ouverture de session.
  7. Dans le menu fichier , cliquez sur Fermer pour fermer la page Web logon.asp.

Créer la connexion de fichier include

Le fichier include fournit la fonctionnalité de nom et de mot de passe utilisateur. Il peut être utilisé par la page Web protégée et la page Web d’ouverture de session. Pour créer la connexion de fichier, procédez comme suit :
  1. Dans Expression Web Designer, cliquez sur Nouveau dans le menu fichier , puis cliquez sur Page.
  2. Dans la boîte de dialogue Nouveau , cliquez sur HTML dans l’onglet de la Page , puis cliquez sur OK.
  3. Dans la zone de pied de page de la fenêtre de document, cliquez sur Code pour afficher le mode code.
  4. Sélectionnez et supprimez tout le code HTML de la page Web.
  5. Tapez ou collez le code HTML suivant dans la page Web.
    <%  ' Do not cache this page.
    Response.CacheControl = "no-cache"

    ' Define the name of the users table.
    Const USERS_TABLE = "tblUsers"
    ' Define the path to the logon page.
    Const LOGON_PAGE = "/logon/logon.asp"
    ' Define the path to the logon database.
    Const MDB_URL = "/logon/_private/logon.mdb"

    ' Check to see whether you have a current user name.
    If Len(Session("UID")) = 0 Then
    ' Are you currently on the logon page?
    If LCase(LOGON_PAGE) <> LCase(Request.ServerVariables("URL")) Then
    ' If not, set a session variable for the page that made the request...
    Session("REFERRER") = Request.ServerVariables("URL")
    ' ...and redirect to the logon page.
    Response.Redirect LOGON_PAGE
    End If
    End If

    ' This function checks for a username/password combination.
    Function ComparePassword(UID,PWD)
    ' Define your variables.
    Dim strSQL, objCN, objRS
    ' Set up your SQL string.
    strSQL = "SELECT * FROM " & USERS_TABLE & _
    " WHERE (UID='" & ParseText(UID) & _
    "' AND PWD='" & ParseText(PWD) & "');"
    ' Create a database connection object.
    Set objCN = Server.CreateObject("ADODB.Connection")
    ' Open the database connection object.
    objCN.Open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & _
    Server.MapPath(MDB_URL) & "; uid=admin; pwd="
    ' Run the database query.
    Set objRS = objCN.Execute(strSQL)
    ' Set the status to true/false for the database lookup.
    ComparePassword = Not(objRS.EOF)
    ' Close your database objects.
    Set objRS = Nothing
    Set objCN = Nothing
    End Function

    ' This function restricts text to alpha-numeric data only.
    Function ParseText(TXT)
    Dim intPos, strText, intText
    For intPos = 1 TO Len(TXT)
    intText = Asc(Mid(TXT,intPos,1))
    If (intText > 47 And intText < 58) Or _
    (intText > 64 And intText < 91) Or _
    (intText > 96 And intText < 123) Then
    strText = strText & Mid(TXT,intPos,1)
    End if
    Next
    ParseText = strText
    End Function
    %>
  6. Enregistrez la page sous logon.inc dans le dossier _private de votre site de Web d’ouverture de session.
  7. Dans le menu fichier , cliquez sur Fermer pour fermer la page Web logon.inc.

Tester le site Web d’ouverture de session

Pour ce faire, procédez comme suit :
  1. Dans Expression Web, droit Default.asp dans le volet Liste des dossiers , puis cliquez sur Aperçu dans le navigateur.

    Le navigateur Web charge l’exemple de page d’accueil et indique que vous n’êtes pas connecté.
  2. Cliquez sur le lien de la page non sécurisée .

    La page se charge et indique que vous n’êtes pas connecté. Cliquez sur le lien par défaut pour revenir à la page par défaut.
  3. Cliquez sur le lien de la page protégée par mot de passe .

    La page logon.asp se charge au lieu de la page protégée.
  4. Dans la zone Nom d’utilisateur , tapez testuser, tapez le mot de passe dans la zone mot de passe , puis cliquez sur ouverture de session.

    La page protégée s’affiche et indique que vous êtes connecté en tant que UtilisateurTest. Cliquez sur le lien par défaut pour revenir à la page par défaut. La page d’accueil se charge et indique que vous êtes connecté en tant que UtilisateurTest.
  5. Cliquez sur le lien de la page non sécurisée .



    La page se charge et indique que vous êtes connecté en tant que UtilisateurTest.

Personnaliser le site Web d’ouverture de session

Vous pouvez personnaliser l’exemple de site Web d’ouverture de session dans l’une des manières suivantes :
  • Ajoutez les noms d’utilisateur et les mots de passe :
    Vous pouvez ouvrir la base de données dans Expression Web et ensuite ajouter des utilisateurs à la table tblUsers .
  • Créer d’autres pages Web qui sont protégés par mot de passe :
    Pour créer une autre page Web protégée par mot de passe de votre site Web, vous devez enregistrer le fichier à l’aide d’une extension de nom de fichier .asp, tel que Mypage.aspet puis ajoutez les deux lignes suivantes tout en haut du mode code :
    <% @language="vbscript" %><!--#include virtual="/logon/_private/logon.inc"-->
    La première ligne spécifie que vous utilisez Microsoft Visual Basic Scripting Edition (VBScript) pour votre langage de script. La deuxième ligne contient le nom d’utilisateur et la fonctionnalité de mot de passe depuis l’ouverture de session incluent le fichier que vous avez créé précédemment.

Références

Pour plus d’informations sur la création d’une page Web qui est protégée par mot de passe à l’aide de FrontPage 2003, Active Server Pages et une base de données Access, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

825498 la création d’une page Web protégée par mot de passe à l’aide de FrontPage 2003, Active Server Pages et une base de données Access


Pour plus d’informations sur la façon de sécuriser les communications HTTP entre le client et le serveur, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft :

299525 comment installer SSL à l’aide de IIS 5.0 et Certificate Server 2.0

299875 comment implémenter SSL dans IIS


Pour plus d’informations sur la façon d’intégrer Active Server Pages (ASP) des bases de données, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft :

299987 l’utilisation de base de données et des sessions ASP pour implémenter la sécurité ASP

300382 comment créer une connexion de base de données à partir d’une page ASP dans IIS

318287 ce que vous devez utiliser les pages Active Server Pages (ASP) dans FrontPage 2002

Propriétés

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

Commentaires