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

Traduzione articoli Traduzione articoli
Identificativo articolo: 825498 - Visualizza i prodotti a cui si riferisce l?articolo.
Per la versione di questo articolo relativa a Microsoft FrontPage 2002, vedere 321439.
Per la versione di questo articolo relativa a Microsoft FrontPage 2000, vedere 321503.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo viene descritto in dettaglio come creare una semplice soluzione di pagina Web protetta da password utilizzando FrontPage 2003, pagine ASP e un database di Microsoft Access.

Importante
  • Il codice di esempio fornito in questo articolo non č destinato a sostituire la funzionalitā di protezione incorporata in FrontPage 2003. Gli esempi sono progettati per fornire un semplice meccanismo di protezione solo per gli utenti che esplorano il sito Web. Pertanto la funzionalitā di protezione di FrontPage 2003 non viene integrata con i nomi utente e le password aggiunte al database di Microsoft Access.
  • I nomi utente e le password digitati vengono trasmessi attraverso Internet come testo normale. Per migliorare la protezione, si consiglia di utilizzare un server Web che supporti la crittografia SSL (Secure Sockets Layer). Per ulteriori informazioni, contattare l'amministratore del sito Web o il provider di servizi Internet (ISP).

Utilizzare le funzionalitā ASP in FrontPage 2003

Per utilizzare le funzionalitā ASP in FrontPage 2003, č necessario avere accesso a un server Web o a un sito Web su disco che supporti ASP.

Creare un nuovo sito Web in FrontPage 2003

Nota Nelle informazioni relative all'esempio si presuppone che il nuovo sito Web venga denominato logon e che venga creato come Web secondario a partire dalla radice del sito Web. Se si utilizza un nome diverso da logon o se si crea un sito Web in un percorso alternativo, sarā necessario modificare di conseguenza le procedure in tutto l'articolo.

Per creare un nuovo sito Web in FrontPage 2003, attenersi alla seguente procedura:
  1. Avviare FrontPage 2003.
  2. Scegliere Nuovo dal menu File.
  3. Nel riquadro attivitā fare clic su Altri modelli di sito Web, quindi fare clic su Sito Web vuoto.
  4. In Opzioni digitare il percorso in cui si desidera archiviare il nuovo sito Web nel seguente formato:
    http://nomeserver/logon
    dove nomeserver rappresenta il nome del server Web che supporta ASP.
  5. Scegliere OK.
Il nuovo sito Web vuoto denominato logon verrā aperto in FrontPage 2003.

Creare un database

Creare un database per l'archiviazione di nomi utente e password utilizzando un programma database, ad esempio Microsoft Office Access 2003.

Nota Se si utilizza un programma diverso da Access 2003 per creare il database, modificare di conseguenza la procedura.

Per creare un database, attenersi alla seguente procedura:
  1. Avviare Access 2003.
  2. Scegliere Nuovo dal menu File.
  3. Nel riquadro attivitā fare clic su Database vuoto.
  4. Digitare logon.mdb come nome del file, quindi scegliere Crea.
  5. Nel riquadro Oggetti fare clic su Tabelle, quindi scegliere Nuovo.
  6. Scegliere Visualizzazione Struttura, quindi OK.
  7. Nella prima riga della colonna Nome campo digitare UID.
  8. Nella corrispondente colonna Tipo dati fare clic su Testo, quindi fare clic sul pulsante Chiave primaria sulla barra degli strumenti (rappresentato da un simbolo di chiave).
  9. Nella seconda riga della colonna Nome campo digitare PWD, quindi fare clic su Testo nella seconda riga della colonna Tipo dati.
  10. Scegliere Salva dal menu File.
  11. Nella casella Nome tabella digitare tblUsers, quindi scegliere OK.
  12. Scegliere Visualizzazione Foglio dati dal menu Visualizza.
  13. Nella colonna UID digitare testuser.

    Nella colonna PWD digitare password.
  14. Scegliere Chiudi dal menu File per chiudere Access 2003.
Nota Per motivi di protezione le password sono limitate a un misto di lettere maiuscole, lettere minuscole e numeri.

Importare il database

Importare il database per i nomi utente e le password creato in FrontPage 2003. A tale scopo, attenersi alla seguente procedura:
  1. In FrontPage 2003, con il sito Web logon aperto, scegliere Importa dal menu File.
  2. Scegliere Aggiungi file, individuare e selezionare il file logon.mdb creato in precedenza.

    Scegliere Apri.
  3. Fare clic su Modifica, digitare _private/logon.mdb nella casella Percorso file nel Web corrente, quindi scegliere OK.

    Nota Nel percorso del file č presente un carattere di sottolineatura (_) prima di "private".
  4. Scegliere OK per importare il file di database.
  5. Alla richiesta se si desidera creare una connessione di database per il file importato, scegliere No.

Creare le pagine ASP

Per questo esempio č necessario creare diversi file. Creare innanzitutto una home page per il sito Web, una pagina non protetta e una pagina protetta da password per i test, quindi la pagina Web logon e il file di inclusione logon.

Creare la home page

Questa pagina viene utilizzata come pagina predefinita del sito e include i collegamenti alla pagina non protetta e alla pagina Web protetta da password create per l'esempio. Per creare una home page, attenersi alla seguente procedura:
  1. In FrontPage 2003 scegliere Nuovo dal menu File, quindi fare clic su Pagina vuota.
  2. Nell'area del pič di pagina della finestra del documento fare clic su Codice per passare alla visualizzazione Codice.
  3. Selezionare e rimuovere tutto il codice HTML nella pagina Web.
  4. 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>
    
  5. Fare clic con il pulsante destro del mouse sulla scheda Nuova_pagina_1.htm, quindi scegliere Salva.

    Salvare la pagina come default.asp nella cartella radice del sito Web logon.
  6. Scegliere Chiudi dal menu File per chiudere la pagina Web default.asp.

Creare la pagina non protetta

Creare una normale pagina ASP che tutti gli utenti possano visualizzare. Per creare una pagina non protetta, attenersi alla seguente procedura:
  1. In FrontPage 2003 scegliere Nuovo dal menu File, quindi fare clic su Pagina vuota.
  2. Nell'area del pič di pagina della finestra del documento fare clic su Codice per passare alla visualizzazione Codice.
  3. Selezionare e rimuovere tutto il codice HTML nella pagina Web.
  4. 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>
    
  5. Fare clic con il pulsante destro del mouse sulla scheda Nuova_pagina_1.htm, quindi scegliere Salva.

    Salvare la pagina come nonsecure.asp nella cartella radice del sito Web logon.
  6. Scegliere Chiudi dal menu File per chiudere la pagina Web nonsecure.asp.

Creare la pagina protetta da password

La pagina in questo passaggio č uguale alla pagina Web non protetta creata in precedenza, salvo il fatto che č necessario aggiungere la seguente riga di codice nella parte superiore della pagina:
<!--#include virtual="/logon/_private/logon.inc"-->
Quando si aggiunge questa riga di codice a una pagina Web ASP, questa viene protetta da password mediante il file logon.inc creato precedentemente. Per creare una pagina Web protetta da password, attenersi alla seguente procedura:
  1. In FrontPage 2003 scegliere Nuovo dal menu File, quindi fare clic su Pagina vuota.
  2. Nell'area del pič di pagina della finestra del documento fare clic su Codice per passare alla visualizzazione Codice.
  3. Selezionare e rimuovere tutto il codice HTML nella pagina Web.
  4. 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>
    
  5. Fare clic con il pulsante destro del mouse sulla scheda Nuova_pagina_1.htm, quindi scegliere Salva.

    Salvare la pagina come passwordprotect.asp nella cartella radice del sito Web logon.
  6. Scegliere Chiudi dal menu File per chiudere la pagina Web passwordprotect.asp.

Creare la pagina di accesso "logon"

Creare una pagina di accesso con un aspetto analogo a una tipica finestra di dialogo di accesso di Windows. Gli utenti che tentano di accedere alla pagina protetta da password vengono indirizzati a questa pagina per digitarvi il nome utente e la password. Per creare una pagina di accesso denominata logon, attenersi alla seguente procedura:
  1. In FrontPage 2003 scegliere Nuovo dal menu File, quindi fare clic su Pagina vuota.
  2. Nell'area del pič di pagina della finestra del documento fare clic su Codice per passare alla visualizzazione Codice.
  3. Selezionare e rimuovere tutto il codice HTML nella pagina Web.
  4. 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>
    
  5. Fare clic con il pulsante destro del mouse sulla scheda Nuova_pagina_1.htm, quindi scegliere Salva.

    Salvare la pagina come logon.asp nella cartella radice del sito Web logon.
  6. Scegliere Chiudi dal menu File per chiudere la pagina Web logon.asp.

Creare il file di inclusione "logon"

Il file di inclusione fornisce la funzionalitā per l'immissione del nome utente e della password e viene utilizzato sia dalla pagina Web protetta da password che dalla pagina Web logon. Per creare il file di inclusione denominato logon, attenersi alla seguente procedura:
  1. In FrontPage 2003 scegliere Nuovo dal menu File, quindi fare clic su Pagina vuota.
  2. Nell'area del pič di pagina della finestra del documento fare clic su Codice per passare alla visualizzazione Codice.
  3. Selezionare e rimuovere tutto il codice HTML nella pagina Web.
  4. 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
    %>
  5. Fare clic con il pulsante destro del mouse sulla scheda Nuova_pagina_1.htm, quindi scegliere Salva.

    Salvare la pagina come logon.inc nella cartella _private del sito Web logon.
  6. Scegliere Chiudi dal menu File per chiudere il file logon.inc.

Testare il sito Web logon

Per effettuare questa operazione, attenersi alla seguente procedura:
  1. In FrontPage 2003, nel riquadro Elenco cartelle fare clic con il pulsante destro del mouse su Default.asp, quindi scegliere Visualizza anteprima nel browser.

    Nel browser viene caricata la home page di esempio con l'indicazione che non č stato eseguito l'accesso.
  2. Fare clic sul collegamento Nonsecure page.

    La pagina viene caricata con l'indicazione che non č stato eseguito l'accesso. Fare clic sul collegamento Back to default per tornare alla pagina predefinita.
  3. Fare clic sul collegamento Password-Protected page.

    Viene caricata la pagina logon.asp anziché la pagina protetta da password.
  4. Nella casella User Name, digitare testuser, digitare password nella casella Password, quindi fare clic su LOGON.

    La pagina protetta da password viene visualizzata con l'indicazione che č stato eseguito l'accesso come testuser. Fare clic sul collegamento Back to default per tornare alla pagina predefinita. La home page viene caricata con l'indicazione che č stato eseguito l'accesso come testuser.
  5. Fare clic sul collegamento Nonsecure page.

    La pagina viene caricata con l'indicazione che č stato eseguito l'accesso come testuser.

Personalizzare il sito Web logon

Č possibile personalizzare il sito Web logon di esempio nei modi seguenti:
  • Aggiungere nomi utente e password: č possibile aprire il database. A questo scopo fare doppio clic sul database in FrontPage 2003, quindi aggiungere utenti alla tabella tblUsers.
  • Proteggere con password altre pagine Web: per proteggere con password un'altra pagina Web nel sito Web, č necessario salvare il file con estensione di file ASP, ad esempio Pagina personale.asp, quindi aggiungere le due righe seguenti all'inizio del file:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    
    Nella prima riga viene specificato che si utilizza Microsoft Visual Basic Scripting Edition (VBScript) per il linguaggio di scripting, mentre nella seconda riga č inclusa la funzionalitā per l'immissione del nome utente e della password dal file di inclusione logon creato in precedenza.

Informazioni

I nomi utente e le password archiviati nel database non sono crittografati. Questi dati non vengono crittografati anche se si utilizza la maschera di input della password. Per questo e per altri motivi, č opportuno non utilizzare database di Access per la produzione di siti Web. Per ulteriori informazioni sulla protezione delle comunicazioni HTTP tra un client e un server, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito:
299525 Impostazione di SSL utilizzando IIS 5.0 e Certificate Server 2.0
299875 Modalitā di implementazione di SSL in IIS

Riferimenti

Per ulteriori informazioni sull'integrazione di pagine ASP con database, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito:
299987 Utilizzo di database e sessioni ASP per implementare la protezione per ASP
300382 Creazione di una connessione di database da una pagina ASP in IIS
318287 Elementi necessari per l'utilizzo di pagine ASP in FrontPage 2002

Proprietā

Identificativo articolo: 825498 - Ultima modifica: lunedė 11 febbraio 2008 - Revisione: 5.1
Le informazioni in questo articolo si applicano a
  • Microsoft Office SharePoint Designer 2007
  • Microsoft Office FrontPage 2003
Chiavi: 
kbdatabase kbasp kbhowtomaster KB825498
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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