Skapa en lösenordsskyddad webbsida med FrontPage 2003, Active Server Pages och en Access-databas

Artikelöversättning Artikelöversättning
Artikel-id: 825498 - Visa produkter som artikeln gäller.
En version av den här artikeln för Microsoft Frontpage 2002 finns i 321439 (Länken kan leda till en webbplats som är helt eller delvis på engelska).
En version av den här artikeln för Microsoft Frontpage 2000 finns i 321503 (Länken kan leda till en webbplats som är helt eller delvis på engelska).
Visa alla | Dölj alla

På den här sidan

Sammanfattning

I den här artikeln beskrivs steg för steg hur du skapar en enkel lösenordsskyddad webbsida med hjälp av FrontPage 2003, Active Server Pages (ASP) och en Microsoft Access-databas.

Viktigt!
  • Exempelkoden i den här artikeln ersätter inte de inbyggda säkerhetsfunktionerna i FrontPage 2003. Exemplen är bara avsedda som en enkel säkerhetsmekanism för användare som kommer till din webbplats. Säkerheten i FrontPage 2003 har i sig inget samband med användarnamn och lösenord som läggs till i Microsoft Access-databasen.
  • Användarnamn och lösenord som skrivs in skickas som oformaterad text via Internet. För ökad säkerhet rekommenderar Microsoft att du använder en webbserver med SSL-kryptering (Secure Sockets Layer). Kontakta webbplatsens administratör eller Internet-leverantören om du vill veta mer.

Använd ASP-funktionerna i FrontPage 2003

Innan du kan använda ASP-funktionerna i FrontPage 2003 måste du ha tillgång till en webbserver eller diskbaserad webbplats med stöd för ASP.

Skapa en ny webbplats i FrontPage 2003

Obs! I exemplet antar vi att du kallar webbplatsen för logon och att du skapar den som en underwebbplats från webbplatsens rot. Om du använder ett annat namn än logon eller skapar webbplatsen på en annan plats, måste du göra motsvarande ändringar i åtgärderna i den här artikeln.

Så här skapar du en ny webbplats i FrontPage 2003:
  1. Starta FrontPage 2003.
  2. Klicka på NyttArkiv-menyn.
  3. Klicka på Fler mallar för webbplatser och sedan på Tom webbplats.
  4. Under Alternativ skriver du in platsen där du vill lagra den nya webbplatsen i följande format:
    http://servernamn/inloggning
    Där servernamn är namnet på din ASP-aktiverade webbserver.
  5. Klicka på OK.
Den nya tomma webbplatsen med namnet logon öppnas i FrontPage 2003.

Skapa en databas

Skapa en databas för lagring av användarnamn och lösenord med hjälp av ett databasprogram som Microsoft Office Access 2003.

Obs! Om du använder ett annat program än Access 2003 ändrar du åtgärderna på lämpligt sätt.

Så här skapar du en databas:
  1. Starta Access 2003.
  2. Klicka på NyttArkiv-menyn.
  3. Klicka på Tom databas i åtgärdsfönstret.
  4. Skriv logon.mdb som filnamn och klicka på Skapa.
  5. Klicka på Tabeller i rutan Objekt och sedan på Ny.
  6. Klicka på Designläge och sedan på OK.
  7. Skriv UID på den första raden i kolumnen Fältnamn.
  8. Klicka på Text i motsvarande Datatyp-kolumn och sedan på knappen Primärnyckel i verktygsfältet (visas som en nyckelsymbol).
  9. Skriv PWD på den andra raden i kolumnen Fältnamn, och klicka sedan på Text på den andra raden i kolumnen Datatyp.
  10. Klicka på SparaArkiv-menyn.
  11. Skriv tblUsers i rutan Tabellnamn, och klicka sedan på OK.
  12. Klicka på DatabladVisa-menyn.
  13. Skriv testuser i UID-kolumnen.

    Skriv password i PWD-kolumnen.
  14. Klicka på StängArkiv-menyn och avsluta Access 2003.
Obs! Av säkerhetsskäl är lösenord begränsade till en blandning av versaler, gemener och siffror.

Importera databasen

Importera användarnamns- och lösenordsdatabasen du har skapat till FrontPage 2003. Gör så här:
  1. Klicka på ImporteraArkiv-menyn i FrontPage 2003 medan inloggningswebbplatsen är öppen.
  2. Klicka på Lägg till fil. Leta upp och klicka på filen logon.mdb du har skapat.

    Klicka på Öppna.
  3. Klicka på Ändra, skriv _private/logon.mdb i rutan Filsökväg på webbplatsen och klicka på OK.

    Obs! Det finns ett understreck (_) framför "private" i filsökvägen.
  4. Importera databasfilen genom att klicka på OK.
  5. Om du tillfrågas om du vill skapa en databasanslutning för den importerade filen klickar du på Nej.

Skapa ASP-sidorna

Du måste skapa flera filer för att kunna arbeta med det här exemplet. Skapa först en startsida för webbplatsen, en "icke tillförlitlig sida" och en lösenordsskyddad sida för testning samt inloggningswebbsidan och include-filen för inloggning.

Skapa startsidan

Den här sidan fungerar som standardsida för webbplatsen och innehåller länkar till den icke tillförlitliga sidan och den lösenordsskyddade sidan du skapar. Så här skapar du en startsida:
  1. I FrontPage 2003 klickar du på Arkiv, Nytt och Tom sida.
  2. Visa koden genom att klicka på Kod i sidfotsområdet i dokumentfönstret.
  3. Markera och ta bort all HTML-kod på webbsidan.
  4. Skriv eller klistra in följande HTML-kod på webbsidan:
    <% @language="vbscript" %>
    <html>
    <head><title>Startsida</title></head>
    <body>
    <h3>Startsida</h3>
    <p>Du är inloggad som: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>Du är inte inloggad.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <ul>
     
    <li><a href="passwordprotect.asp">Lösenordsskyddad sida</a></li>
    <li><a href="passwordprotect.asp">Icke lösenordsskyddad sida</a></li>
    
    </ul>
    </body>
    </html>
    
  5. Högerklicka på fliken new_page_1.htm och klicka på Spara.

    Spara sidan som default.asp i webbplatsens rotmapp.
  6. Stäng webbsidan default.asp genom att klicka på StängArkiv-menyn.

Skapa den icke tillförlitliga sidan

Skapa en typisk ASP-sida som alla kan visa. Gör så här:
  1. I FrontPage 2003 klickar du på Arkiv, Nytt och Tom sida.
  2. Visa koden genom att klicka på Kod i sidfotsområdet i dokumentfönstret.
  3. Markera och ta bort all HTML-kod på webbsidan.
  4. Skriv eller klistra in följande HTML-kod på webbsidan:
    <% @language="vbscript" %>
    <html>
    <head><title>Icke-tillförlitlig sida</title></head>
    <body>
    <h3>Icke-tillförlitlig sida</h3>
    <p>Du är inloggad som: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>Du är inte inloggad.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <p><a href="default.asp">Återställ till standard</a></p>
    </body>
    </html>
    
  5. Högerklicka på fliken new_page_1.htm och klicka på Spara.

    Spara sidan som nonsecure.asp i webbplatsens rotmapp.
  6. Stäng webbsidan nonsecure.asp genom att klicka på StängArkiv-menyn.

Skapa den lösenordsskyddade sidan

Sidan i det här steget är densamma som den icke tillförlitliga webbsidan du skapade tidigare, förutom att du måste lägga till följande kodrad nära sidans översta del:
<!--#include virtual="/logon/_private/logon.inc"-->
När du lägger till den här kodraden på en ASP-webbsida blir sidan lösenordsskyddad genom filen logon.inc som du skapar. Så här skapar du en lösenordsskyddad webbsida:
  1. I FrontPage 2003 klickar du på Arkiv, Nytt och Tom sida.
  2. Visa koden genom att klicka på Kod i sidfotsområdet i dokumentfönstret.
  3. Markera och ta bort all HTML-kod på webbsidan.
  4. Skriv eller klistra in följande HTML-kod på webbsidan:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    <html>
    <head><title>Lösenordsskyddad sida</title></head>
    <body>
    <h3>Lösenordsskyddad sida</h3>
    <p>Du är inloggad som: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>Du är inte inloggad.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <p><a href="default.asp">Återställ till standard</a>
    </body>
    </html>
    
  5. Högerklicka på fliken new_page_1.htm och klicka på Spara.

    Spara sidan som passwordprotect.asp i webbplatsens rotmapp.
  6. Stäng webbsidan passwordprotect.asp genom att klicka på StängArkiv-menyn.

Skapa inloggningssidan

Skapa en inloggningssida som liknar en typisk dialogruta för Windows-inloggning. Användare som försöker komma åt den lösenordsskyddade webbsidan skickas till den här sidan för att skriva sitt användarnamn och lösenord. Så här skapar du en inloggningssida:
  1. I FrontPage 2003 klickar du på Arkiv, Nytt och Tom sida.
  2. Visa koden genom att klicka på Kod i sidfotsområdet i dokumentfönstret.
  3. Markera och ta bort all HTML-kod på webbsidan.
  4. Skriv eller klistra in följande HTML-kod på webbsidan:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    <%
      ' Skickades den här sidan till?
      If UCase(Request.ServerVariables("HTTP_METHOD")) = "POST" Then
        ' Om så är fallet, kontrollera det användarnamn/lösenord som angavs.
        If ComparePassword(Request("UID"),Request("PWD")) Then
          ' Om jämförelsen överensstämde, lagras användarnamnet...
          Session("UID") = Request("UID")
          ' ...och skickas tillbaka till den ursprungliga sidan.
          Response.Redirect Session("REFERRER")
        End If
      End If
    %>
    <html>
    <head><title>Inloggningssida</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">Ange användarnamn och lösenord</th>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td colspan="2" align="left">Ange ditt användarnamn och lösenord.</td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">Plats</td>
        <td align="left"><%=Request.ServerVariables("SERVER_NAME")%> &#xa0;</td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">Användarnamn</td>
        <td align="left"><input name="UID" type="text" size="20"></td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">Lösenord</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. Högerklicka på fliken new_page_1.htm och klicka på Spara.

    Spara sidan som logon.asp i webbplatsens rotmapp.
  6. Stäng webbsidan logon.asp genom att klicka på StängArkiv-menyn.

Skapa en include-fil för inloggning

Include-filen innehåller funktioner för användarnamn och lösenord och används både för den lösenordsskyddade webbsidan och inloggnings-webbsidan. Så här skapar du en include-fil för inloggning:
  1. I FrontPage 2003 klickar du på Arkiv, Nytt och Tom sida.
  2. Visa koden genom att klicka på Kod i sidfotsområdet i dokumentfönstret.
  3. Markera och ta bort all HTML-kod på webbsidan.
  4. Skriv eller klistra in följande HTML-kod på webbsidan:
    <%
      ' Cache-lagra inte denna sida.
      Response.CacheControl = "no-cache"
    
      ' Definiera namnet på användartabellen.
      Const USERS_TABLE  = "tblUsers"
      ' Definiera sökvägen till inloggningssidan.
      Const LOGON_PAGE   = "/logon/logon.asp"
      ' Definiera sökvägen till inloggningsdatabasen.
      Const MDB_URL      = "/logon/_private/logon.mdb"
    
      ' Kontrollera om du har ett giltigt användarnamn.
      If Len(Session("UID")) = 0 Then
        ' Är du på inloggningssidan nu?
        If LCase(LOGON_PAGE) <> LCase(Request.ServerVariables("URL")) Then
          ' Om inte, anger du en sessionsvariabel för sidan som begäran kom ifrån...
          Session("REFERRER") = Request.ServerVariables("URL")
          ' ...och skickas till inloggningssidan.
          Response.Redirect LOGON_PAGE
        End If
      End If
    
      ' Den här funktionen söker efter en användarnamn/lösenords-kombination.
      Function ComparePassword(UID,PWD)
        ' Definiera dina variabler.
        Dim strSQL, objCN, objRS
        ' Ange din SQL-sträng.
        strSQL = "SELECT * FROM " & USERS_TABLE & _
          " WHERE (UID='" & ParseText(UID) & _
          "' AND PWD='" & ParseText(PWD) & "');"
        ' Skapa ett databasanslutningsobjekt.
        Set objCN = Server.CreateObject("ADODB.Connection")
        ' Öppna databasanslutningsobjektet.
        objCN.Open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & _
          Server.MapPath(MDB_URL) & "; uid=admin; pwd="
        ' Kör databasfrågan.
        Set objRS = objCN.Execute(strSQL)
        ' Ange status till true/false för databasuppslaget.
        ComparePassword = Not(objRS.EOF)
        ' Stäng dina databasobjekt.
        Set objRS = Nothing
        Set objCN = Nothing
      End Function
    
      ' Den här funktionen begränsar texten till alfanumeriska data.
      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. Högerklicka på fliken new_page_1.htm och klicka på Spara.

    Spara sidan som logon.inc i mappen _private på webbplatsen.
  6. Stäng filen logon.inc genom att klicka på StängArkiv-menyn.

Testa inloggningswebbplatsen

Gör så här:
  1. Högerklicka på Default.asp i rutan Mapplista i FrontPage 2003 och klicka sedan på Förhandsgranska i webbläsaren.

    Exempelstartsidan läses in i webbläsaren och visar att du inte är inloggad.
  2. Klicka på länken Nonsecure page.

    Sidan läses in och visar att du inte är inloggad. Klicka på länken Back to default för att komma tillbaka till standardsidan.
  3. Klicka på länken Password-Protected page.

    Sidan logon.asp lästes in i stället för den lösenordsskyddade sidan.
  4. Skriv testuser i rutan Användarnamn skriv password i rutan Lösenord och klicka på LOGON.

    Den lösenordsskyddade sidan visas och anger att du är inloggad som testuser. Klicka på länken Back to default för att komma tillbaka till standardsidan. Startsidan läses in och visar att du är inloggad som testuser.
  5. Klicka på länken Nonsecure page.

    Sidan läses in och visar att du är inloggad som testuser.

Anpassa inloggningswebbplatsen

Du kan anpassa exempelwebbplatsen för inloggning på följande sätt:
  • Lägg till användarnamn och lösenord: Du kan öppna databasen. Gör det genom att dubbelklicka på databasen i FrontPage 2003 och sedan lägga till användare i tabellen tblUsers.
  • Skydda andra webbsidor med lösenord: För att skydda en annan webbsida på webbplatsen med lösenord måste du spara filen med ett ASP-filnamnstillägg, till exempel Mypage.asp, och sedan lägga till följande två rader i början av filen:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    
    Den första raden anger att du använder Microsoft VBScript (Visual Basic Scripting Edition) som skriptspråk, och den andra raden innehåller användarnamnet och lösenordsfunktionen från include-filen för inloggning du skapade tidigare.

Mer Information

Användarnamn och lösenord som lagras i databasen är inte krypterade, inte ens om du använder indatamasken för lösenord. Av detta och andra skäl bör Access-databaser inte användas för företagswebbplatser. Om du vill veta mer om hur du säkerställer HTTP-kommunikation mellan klienten och servern klickar du på följande artikelnummer och läser artiklarna i Microsoft Knowledge Base:
299525 Konfigurera SSL med hjälp av IIS 5.0 och Certificate Server 2.0 (Länken kan leda till en webbplats som är helt eller delvis på engelska)
299875 Implementera SSL i IIS (Länken kan leda till en webbplats som är helt eller delvis på engelska)

Referenser

Om du vill veta mer om hur du integrerar ASP (Active Server Pages) med databaser klickar du på följande artikelnummer och läser artiklarna i Microsoft Knowledge Base:
299987 How to use database and ASP sessions to implement ASP security (Länken kan leda till en webbplats som är helt eller delvis på engelska)
300382 Skapa en databasanslutning från en ASP-sida i IIS (Länken kan leda till en webbplats som är helt eller delvis på engelska)
318287 Vad du behöver veta för att använda ASP (Active Server Pages) i FrontPage 2002 (Länken kan leda till en webbplats som är helt eller delvis på engelska)

Egenskaper

Artikel-id: 825498 - Senaste granskning: den 21 februari 2007 - Revision: 5.1
Informationen i denna artikel gäller:
  • Microsoft Office SharePoint Designer 2007
  • Microsoft Office FrontPage 2003
Nyckelord: 
kbdatabase kbasp kbhowtomaster KB825498

Ge feedback

 

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