Come creare una pagina Web protetta da password utilizzando Expression Web, pagine ASP e un database di Access

Riepilogo

In questo articolo viene descritto come creare una soluzione semplice pagina Web che fornisce la password di protezione mediante Microsoft Expression Web, pagine ASP (ASP) e un database di Microsoft Access.
  • Il codice di esempio in questo articolo non è progettato per sostituire la funzionalità di protezione incorporate di Expression Web. Gli esempi sono progettati per fornire un semplice meccanismo di protezione solo per gli utenti che esplorano il sito Web. Pertanto, protezione di Expression Web non viene integrata con i nomi utente e le password che vengono aggiunti al database di Access.
  • I nomi utente e password digitati vengono trasmessi su Internet in formato testo normale. Per aumentare la protezione, si consiglia di utilizzare un server Web che è possibile utilizzare la crittografia Secure Sockets Layer (SSL). Per ulteriori informazioni, contattare l'amministratore del sito Web o provider di servizi Internet (ISP).

Introduzione

In questo articolo viene descritto come creare una pagina Web protetta da password utilizzando Expression Web, ASP e un database di Access.

Ulteriori informazioni

Utilizzare le funzionalità ASP in Expression Web

Prima di utilizzare le funzionalità ASP in Expression Web, è necessario avere accesso a un server Web o un Web basato su disco che supporti ASP.

Creare un nuovo sito Web in Expression Web

Nota: Le informazioni di esempio si presuppone che per nome di un sito Web di accesso e che il sito di accesso viene creato un Web secondario nella radice del sito Web. Se si utilizza un nome diverso da logon o creare un sito Web in un percorso alternativo, è necessario modificare di conseguenza la procedura descritta in questo articolo.

Per creare un nuovo sito Web in Expression Web, attenersi alla seguente procedura:
  1. Avviare Expression Web.
  2. Dal menu File , fare clic su Nuovoe quindi fare clic su sito Web.
  3. Nella finestra di dialogo Nuovo , fare clic su sito Web vuoto nella scheda sito Web .
  4. Nella casella specificare il percorso del nuovo sito Web , digitare il percorso in cui si desidera archiviare il nuovo sito Web nel seguente formato:

    http://servername/logon
  5. Fare clic su OK.
Il nuovo sito Web vuoto denominato logon viene aperto in Expression Web.

Creare un database

È possibile creare database per memorizzare i nomi utente e password utilizzando un programma di database quale Microsoft Office Access 2003.

Nota: Se si utilizza un programma di database diverso da Access 2003 per creare il database, modificare di conseguenza questi passaggi.

Per creare un database, attenersi alla seguente procedura:
  1. Avviare Access 2003.
  2. Dal menu File , fare clic su Nuovo.
  3. Nel riquadro attività, fare clic su database vuoto.
  4. Digitare Logon. mdb per il nome del file e quindi fare clic su Crea.
  5. Nel riquadro oggetti , fare clic su tabellee quindi fare clic su Nuovo.
  6. Fare clic su Visualizzazione strutturae quindi fare clic su OK.
  7. Nella prima riga della colonna Nome campo digitare UID.
  8. Nella colonna Tipo di dati corrispondente, fare clic su testoe quindi fare clic sul pulsante Chiave primaria sulla barra degli strumenti.

    Nota: Pulsante Chiave primaria viene visualizzato come un simbolo di chiave.
  9. Nella seconda riga della colonna Nome campo digitare PWDe quindi fare clic su testo nella seconda riga della colonna Tipo di dati .
  10. Dal menu File, fare clic su Salva.
  11. Nella casella Nome tabella digitare tblUserse quindi fare clic su OK.
  12. Dal menu Visualizza , fare clic su Visualizzazione Foglio dati.
  13. Nella colonna UID , digitare testuser.
    Nella colonna PWD , digitare la password.
  14. Dal menu File , fare clic su Chiudie quindi uscire da Access 2003.
Nota: Per motivi di sicurezza, le password sono limitate a una combinazione di lettere maiuscole, minuscole e numeri.

Importare il database

Importare il database creato da Gestione nomi utente e password in Expression Web. A tale scopo, attenersi alla seguente procedura:
  1. In Expression Web, aprire il sito Web di accesso, scegliere Importa dal menu File e quindi fare clic su File.
  2. Fare clic su Aggiungi File, individuare e selezionare il file Logon. mdb creato e quindi fare clic su Apri.
  3. Fare clic su Modifica, digitare Logon nella casella di testo percorso File nel web e quindi fare clic su OK.

    Nota: Non c'è un carattere di sottolineatura (_) prima di "private" nel percorso del file.
  4. Fare clic su OK per importare il file di database.
  5. Se viene chiesto di creare una connessione di database per il file importato, fare clic su No.

Creazione di pagine ASP

È necessario creare più file in questo esempio. Innanzitutto, creare una home page per il sito Web, una pagina "protetta" e una pagina protetta per il test, la pagina Web di accesso, e l'accesso di file di inclusione.

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia espressa o implicita. Ciò include, ma non limitato a, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo si presuppone che si abbia familiarità con il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire la procedura di debug. Tecnici del supporto Microsoft consentono di spiegare la funzionalità di una particolare procedura. Tuttavia, essi non modificherà questi esempi per fornire funzionalità aggiuntive o creare procedure atte a soddisfare specifiche esigenze.

Creare la home page

Questa pagina viene utilizzato come pagina predefinita del sito. Include collegamenti alla pagina non protetta e alla pagina Web protetta che create. Per creare una home page, attenersi alla seguente procedura:
  1. In Expression Web, scegliere Nuovo dal menu File e quindi fare clic sulla pagina.
  2. Nella finestra di dialogo Nuovo , fare clic su HTML nella scheda pagina e quindi fare clic su OK.
  3. Nell'area di piè di pagina della finestra del documento, fare clic su codice per passare alla visualizzazione codice.
  4. Selezionare e rimuovere tutto il codice HTML della pagina Web.
  5. Digitare o incollare il seguente codice HTML nella pagina 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. Salva la pagina default. ASP nella cartella principale del sito Web di accesso.
  7. Dal menu File , fare clic su Chiudi per chiudere la pagina Web default. ASP.

Creare la pagina non protetta

Creare una normale pagina ASP che tutti gli utenti possono visualizzare. Per creare una pagina non protetta, attenersi alla seguente procedura:
  1. In Expression Web, scegliere Nuovo dal menu File e quindi fare clic sulla pagina.
  2. Nella finestra di dialogo Nuovo , fare clic su HTML nella scheda pagina e quindi fare clic su OK.
  3. Nell'area di piè di pagina della finestra del documento, fare clic su codice per passare alla visualizzazione codice.
  4. Selezionare e rimuovere tutto il codice HTML della pagina Web.
  5. Digitare o incollare il seguente codice HTML nella pagina 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. Salvare la pagina come Nonsecure. ASP nella cartella principale del sito Web di accesso.
  7. Dal menu File , fare clic su Chiudi per chiudere la pagina Web nonsecure. ASP.

Creare la pagina protetta

La pagina in questo passaggio è lo stesso della pagina Web non protetta creata in precedenza, ad eccezione del fatto che è necessario aggiungere il codice seguente nella parte superiore della visualizzazione codice:
<!--#include virtual="/logon/_private/logon.inc"-->
Quando si aggiunge questa riga di codice a una pagina ASP, tale pagina diventa protetto da password per il file Logon. Inc creato. Per creare una pagina Web protetta da password, attenersi alla seguente procedura:
  1. In Expression Web, scegliere Nuovo dal menu File e quindi fare clic sulla pagina.
  2. Nella finestra di dialogo Nuovo , fare clic su HTML nella scheda pagina e quindi fare clic su OK.
  3. Nell'area di piè di pagina della finestra del documento, fare clic su codice per passare alla visualizzazione codice.
  4. Selezionare e rimuovere tutto il codice HTML della pagina Web.
  5. Digitare o incollare il seguente codice HTML nella pagina 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. Salvare la pagina come passwordprotect. ASP nella cartella principale del sito Web di accesso.
  7. Dal menu File , fare clic su Chiudi per chiudere la pagina Web passwordprotect.

Creare la pagina di accesso

Creare un accesso alla pagina è simile a una finestra di dialogo di accesso Windows standard. Gli utenti che tentano di accedere alla pagina Web protetta vengono inviati a questa pagina in cui digitare i nomi utente e password. Per creare una pagina di accesso, attenersi alla seguente procedura:
  1. In Expression Web, scegliere Nuovo dal menu File e quindi fare clic sulla pagina.
  2. Nella finestra di dialogo Nuovo , fare clic su HTML nella scheda pagina e quindi fare clic su OK.
  3. Nell'area di piè di pagina della finestra del documento, fare clic su codice per passare alla visualizzazione codice.
  4. Selezionare e rimuovere tutto il codice HTML della pagina Web.
  5. Digitare o incollare il seguente codice HTML nella pagina 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. Salvare la pagina come Logon. ASP nella cartella principale del sito Web di accesso.
  7. Dal menu File , fare clic su Chiudi per chiudere la pagina Web logon. ASP.

L'accesso di creare file di inclusione

Il file di inclusione fornisce la funzionalità di nome e password utente. Può essere utilizzato per la pagina Web protetta e la pagina Web di accesso. Per creare l'accesso includere file, attenersi alla seguente procedura:
  1. Nella finestra di progettazione di Expression Web, scegliere Nuovo dal menu File e quindi fare clic sulla pagina.
  2. Nella finestra di dialogo Nuovo , fare clic su HTML nella scheda pagina e quindi fare clic su OK.
  3. Nell'area di piè di pagina della finestra del documento, fare clic su codice per passare alla visualizzazione codice.
  4. Selezionare e rimuovere tutto il codice HTML della pagina Web.
  5. Digitare o incollare il seguente codice HTML nella pagina 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. Salvare la pagina come Logon. Inc nella cartella private del sito Web logon.
  7. Dal menu File , fare clic su Chiudi per chiudere la pagina Web logon. Inc.

Testare il sito Web di accesso

A tale scopo, attenersi alla seguente procedura:
  1. In Expression Web, mouse default. ASP nel riquadro Elenco cartelle e quindi fare clic su Visualizza anteprima nel Browser.

    Il browser Web viene caricata la home page di esempio e indica che non è stato eseguito l'accesso.
  2. Fare clic sul collegamento di pagina non protetta .

    La pagina Carica e indica che non è stato eseguito l'accesso. Fare clic sul collegamento sul valore predefinito per tornare alla pagina predefinita.
  3. Fare clic sulla pagina protetta da Password .

    Consente di caricare la pagina Logon. asp anziché la pagina protetta.
  4. Nella casella Nome utente digitare testuser, digitare la password nella casella Password e quindi fare clic su accesso.

    La pagina protetta viene visualizzato che si è connessi come testuser. Fare clic sul collegamento sul valore predefinito per tornare alla pagina predefinita. La home page viene caricata e indica che si è connessi come testuser.
  5. Fare clic sul collegamento di pagina non protetta .



    La pagina Carica e indica che si è connessi come testuser.

Personalizzare il sito Web di accesso

È possibile personalizzare il sito Web di esempio di accesso nei modi seguenti:
  • Aggiungere nomi utente e password:
    È possibile aprire il database in Expression Web e quindi aggiungere gli utenti alla tabella tblUsers .
  • Creare altre pagine Web che sono protetti da password:
    Per creare un'altra pagina Web protetta da password nel sito Web, è necessario salvare il file utilizzando ASP estensione, ad esempio, MyPage. ASPe quindi aggiungere le seguenti due righe nella parte superiore della visualizzazione codice:
    <% @language="vbscript" %><!--#include virtual="/logon/_private/logon.inc"-->
    La prima riga specifica che si sta utilizzando Microsoft Visual Basic, Scripting Edition (VBScript) per il linguaggio di scripting. La seconda riga include il nome utente e la funzionalità di password di accesso includono file creato in precedenza.

Riferimenti

Per ulteriori informazioni su come creare una pagina Web protetta da password utilizzando FrontPage 2003, pagine ASP e un database di Access, fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:

825498 sulla creazione di una pagina Web protetta da password utilizzando FrontPage 2003, pagine ASP e un database di Access


Per ulteriori informazioni su come proteggere le comunicazioni HTTP tra client e server, fare clic sui numeri per visualizzare gli articoli della Microsoft Knowledge Base riportato di seguito:

299525 come configurare SSL utilizzando IIS 5.0 e Certificate Server 2.0

299875 della modalità di implementazione di SSL in IIS


Per ulteriori informazioni sull'integrazione di pagine ASP (ASP) con i database, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:

299987 sull'utilizzo di database e sessioni ASP per implementare la protezione ASP

Come creare una connessione di database da una pagina ASP in IIS 300382

318287 che cosa è necessario utilizzare pagine ASP (ASP) in FrontPage 2002

Proprietà

ID articolo: 928706 - Ultima revisione: 31 gen 2017 - Revisione: 1

Feedback