Samenvatting
In dit artikel wordt stapsgewijs uitgelegd hoe u een eenvoudige, met een wachtwoord beveiligde webpagina kunt maken met FrontPage 2003, ASP (Active Server Pages) en een Microsoft Access-database.
Belangrijk- De voorbeeldcode in dit artikel is niet ontwikkeld ter vervanging van de ingebouwde beveiligingsfuncties van FrontPage 2003. De voorbeelden bieden alleen een eenvoudig beveiligingsmechanisme voor gebruikers die naar uw website bladeren. Er is geen interactie tussen de beveiligingsfuncties van FrontPage 2003 en de gebruikersnamen en wachtwoorden die u toevoegt aan de Microsoft Access-database.
- Deze gebruikersnamen en wachtwoorden worden als gewone tekst via internet verzonden. Voor een betere beveiliging kunt u het beste een webserver gebruiken die ondersteuning biedt voor SSL-codering (Secure Sockets Layer). Neem contact op met uw websitebeheerder of internetprovider voor meer informatie.
Terug naar beginWerken met ASP-functies in FrontPage 2003
Als u de ASP-functies in FrontPage 2003 wilt gebruiken, moet u toegang hebben tot een webserver of een website op schijf die ASP ondersteunt.
Terug naar beginEen nieuwe website maken in FrontPage 2003
Opmerking In het voorbeeld wordt aangenomen dat u uw website de naam 'logon' geeft en dat u deze website maakt als subweb in de hoofdmap van uw website. Als u een andere naam gebruikt dan 'logon' of de website op een andere locatie maakt, moet u de stappen in het hele artikel aanpassen.
Voer de volgende stappen uit om in FrontPage 2003 een nieuwe website te maken:
- Start FrontPage 2003.
- Open het menu Bestand en klik op Nieuw.
- Klik in het taakvenster op Meer websitesjablonen en klik vervolgens op Lege website.
- Typ onder Opties de locatie waar u de nieuwe website wilt opslaan in de volgende notatie:Waarbij servernaam de naam is van uw ASP-webserver.
- Klik op OK.
De nieuwe, lege website met de naam logon wordt in FrontPage 2003 geopend.
Terug naar beginEen database maken
Maak een database voor het opslaan van namen en wachtwoorden van gebruikers met een databaseprogramma, zoals Microsoft Office Access 2003.
Opmerking Als u in plaats van Access 2003 een ander programma gebruikt om de database te maken, moet u deze stappen aanpassen.
Voer de volgende stappen uit om een database te maken:
- Start Access 2003.
- Open het menu Bestand en klik op Nieuw.
- Klik in het taakvenster op Lege database.
- Typ logon.mdb als bestandsnaam en klik vervolgens op Maken.
- Klik in het deelvenster Objecten op Tabellen en klik vervolgens op Nieuw.
- Klik op Ontwerpweergave en klik op OK.
- Typ in de eerste rij van de kolom Veldnaam de naam UID.
- Klik in de corresponderende kolom Gegevenstype op Tekst en klik vervolgens op de knop Primaire sleutel op de werkbalk (de knop met het sleutelsymbool).
- Typ in de tweede rij van de kolom Veldnaam de naam PWD en klik vervolgens in de tweede rij van de kolom Gegevenstype op Tekst.
- Klik in het menu Bestand op Opslaan.
- Typ in het vak Tabelnaam de naam tblUsers en klik vervolgens op OK.
- Open het menu Beeld en klik op Gegevensbladweergave.
- Typ testuser in de kolom UID.
Typ password in de kolom PWD. - Klik in het menu Bestand op Sluiten en sluit Access 2003 af.
Opmerking Uit veiligheidsoverwegingen kunt u voor wachtwoorden uitsluitend een combinatie van hoofdletters, kleine letters en cijfers gebruiken.
Terug naar beginDe database importeren
Importeer de door u gemaakte database voor namen en wachtwoorden in FrontPage 2003. Hiertoe gaat u als volgt te werk:
- Open de website logon in FrontPage 2003 en klik in het menu Bestand op Importeren.
- Klik op Bestand toevoegen en klik vervolgens op het bestand logon.mdb, dat u hebt gemaakt.
Klik op Openen. - Klik op Wijzigen, typ in het vak Bestandslocatie in uw web de tekst _private/logon.mdb en klik op OK.
Opmerking In het pad naar het bestand bevindt zich een onderstrepingsteken (_) vöör 'private'. - Klik op OK om het databasebestand te importeren.
- Als u wordt gevraagd of u voor dit geïmporteerde bestand een databaseverbinding wilt maken, klikt u op Nee.
Terug naar beginDe ASP-pagina's maken
U moet een aantal bestanden maken die in dit voorbeeld worden gebruikt. Maak eerst een introductiepagina voor uw website, een 'niet-beveiligde' pagina en een pagina die met een wachtwoord is beveiligd voor testdoeleinden, en maak vervolgens de aanmeldingswebpagina en het include-bestand met aanmeldingsgegevens.
De introductiepagina maken
Deze pagina dient als de standaardpagina voor uw website en bevat koppelingen naar de door u gemaakte niet-beveiligde pagina en de pagina die met een wachtwoord is beveiligd. Voer de volgende stappen uit om een introductiepagina te maken:
- Klik in FrontPage 2003 op de knop Een nieuwe standaardpagina maken.
- Klik in het voettekstgebied van het documentvenster op Code om de codeweergave weer te geven.
- Selecteer alle HTML-code op de webpagina en verwijder deze code.
- Typ of plak de volgende HTML-code op de webpagina:
<% @language="vbscript" %><html><head><title>Introductiepagina</title></head><body><h3>Introductiepagina</h3><p>U bent aangemeld als: <% If Len(Session("UID")) = 0 Then Response.Write "<b>U bent niet aangemeld.</b>" Else Response.Write "<b>" & Session("UID") & "</b>" End If%></p><ul> <li><a href="passwordprotect.asp">Pagina met wachtwoordbeveiliging</a></li><li><a href="nonsecure.asp">Niet-beveiligde pagina</a></li>
</ul></body></html>
- Klik met de rechtermuisknop op het tabblad nieuwe_pagina_1.htm en klik vervolgens op Opslaan.
Sla de pagina op als default.asp in de hoofdmap van uw aanmeldingswebsite. - Open het menu Bestand en klik op Sluiten om de webpagina default.asp te sluiten.
Terug naar beginDe niet-beveiligde pagina maken
Maak een standaard ASP-pagina die iedereen kan bekijken. Voer de volgende stappen uit om een niet-beveiligde pagina te maken:
- Klik in FrontPage 2003 op de knop Een nieuwe standaardpagina maken.
- Klik in het voettekstgebied van het documentvenster op Code om de codeweergave weer te geven.
- Selecteer alle HTML-code op de webpagina en verwijder deze code.
- Typ of plak de volgende HTML-code op de webpagina:
<% @language="vbscript" %><html><head><title>Niet-beveiligde pagina</title></head><body><h3>Niet-beveiligde pagina</h3><p>U bent aangemeld als: <% If Len(Session("UID")) = 0 Then Response.Write "<b>U bent niet aangemeld.</b>" Else Response.Write "<b>" & Session("UID") & "</b>" End If%></p><p><a href="default.asp">Terug naar de standaardpagina</a></p></body></html>
- Klik met de rechtermuisknop op het tabblad nieuwe_pagina_1.htm en klik vervolgens op Opslaan.
Sla de pagina op als nonsecure.asp in de hoofdmap van uw aanmeldingswebsite. - Open het menu Bestand en klik op Sluiten om de webpagina nonsecure.asp te sluiten.
Terug naar beginDe pagina met wachtwoordbeveiliging maken
De pagina die u in deze stap maakt, is gelijk aan de niet-beveiligde webpagina die u eerder hebt gemaakt. In dit geval moet u echter boven aan de pagina de volgende coderegel toevoegen:
<!--#include virtual="/logon/_private/logon.inc"-->
Als u deze regel code aan een ASP-webpagina toevoegt, wordt deze pagina een pagina die is beveiligd met een wachtwoord door het bestand logon.inc dat u maakt. Voer de volgende stappen uit om een pagina met wachtwoordbeveiliging te maken:
- Klik in FrontPage 2003 op de knop Een nieuwe standaardpagina maken.
- Klik in het voettekstgebied van het documentvenster op Code om de codeweergave weer te geven.
- Selecteer alle HTML-code op de webpagina en verwijder deze code.
- Typ of plak de volgende HTML-code op de webpagina:
<% @language="vbscript" %><!--#include virtual="/logon/_private/logon.inc"--><html><head><title>Pagina met wachtwoordbeveiliging</title></head><body><h3>Pagina met wachtwoordbeveiliging</h3><p>U bent aangemeld als: <% If Len(Session("UID")) = 0 Then Response.Write "<b>U bent niet aangemeld.</b>" Else Response.Write "<b>" & Session("UID") & "</b>" End If%></p><p><a href="default.asp">Terug naar de standaardpagina</a></body></html>
- Klik met de rechtermuisknop op het tabblad nieuwe_pagina_1.htm en klik vervolgens op Opslaan.
Sla de pagina op als passwordprotect.asp in de hoofdmap van uw aanmeldingswebsite. - Open het menu Bestand en klik op Sluiten om de webpagina passwordprotect.asp te sluiten.
Terug naar beginDe aanmeldingspagina maken
Maak een aanmeldingspagina die lijkt op een standaard Windows-aanmeldingsvenster. Als een gebruiker probeert de pagina met wachtwoordbeveiliging te openen, wordt deze pagina geopend en moet de gebruiker zijn naam en wachtwoord invoeren. Voer de volgende stappen uit om een aanmeldingspagina te maken:
- Klik in FrontPage 2003 op de knop Een nieuwe standaardpagina maken.
- Klik in het voettekstgebied van het documentvenster op Code om de codeweergave weer te geven.
- Selecteer alle HTML-code op de webpagina en verwijder deze code.
- Typ of plak de volgende HTML-code op de webpagina:
<% @language="vbscript" %><!--#include virtual="/logon/_private/logon.inc"--><% ' Is er gepost naar deze pagina? If UCase(Request.ServerVariables("HTTP_METHOD")) = "POST" Then ' Zo ja, dan worden de ingevoerde gebruikersnaam en het wachtwoord gecontroleerd. If ComparePassword(Request("UID"),Request("PWD")) Then ' Als het wachtwoord klopt, wordt de gebruikersnaam opgeslagen. Session("UID") = Request("UID") ' Vervolgens wordt de oorspronkelijke pagina geopend voor de gebruiker. Response.Redirect Session("REFERRER") End If End If%><html><head><title>Aanmeldingspagina</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 > </h3><div ><center><form action="<%=LOGON_PAGE%>" method="POST"><table border="2" cellpadding="2" cellspacing="2"> <tr> <th colspan="4" align="left">Gebruikersnaam en wachtwoord invoeren</th> </tr> <tr> <td> </td> <td colspan="2" align="left">Typ uw gebruikersnaam en wachtwoord.</td> <td> </td> </tr> <tr> <td> </td> <td align="left">Site</td> <td align="left"><%=Request.ServerVariables("SERVER_NAME")%>  </td> <td> </td> </tr> <tr> <td> </td> <td align="left">Gebruikersnaam</td> <td align="left"><input name="UID" type="text" size="20"></td> <td> </td> </tr> <tr> <td> </td> <td align="left">Wachtwoord</td> <td align="left"><input name="PWD" type="password" size="20"></td> <td> </td> </tr> <tr> <td> </td> <td colspan="2" ><input type="submit" value="AANMELDEN"></td> <td> </td> </tr></table></form></center></div></body></html>
- Klik met de rechtermuisknop op het tabblad nieuwe_pagina_1.htm en klik vervolgens op Opslaan.
Sla de pagina op als logon.asp in de hoofdmap van uw aanmeldingswebsite. - Open het menu Bestand en klik op Sluiten om de webpagina logon.asp te sluiten.
Terug naar beginHet include-bestand met aanmeldingsgegevens maken
Het include-bestand biedt de gebruikersnaam- en wachtwoordfunctionaliteit en wordt gebruikt door zowel de met een wachtwoord beveiligde pagina als de aanmeldingspagina. Voer de volgende stappen uit om het include-bestand met aanmeldingsgegevens te maken:
- Klik in FrontPage 2003 op de knop Een nieuwe standaardpagina maken.
- Klik in het voettekstgebied van het documentvenster op Code om de codeweergave weer te geven.
- Selecteer alle HTML-code op de webpagina en verwijder deze code.
- Typ of plak de volgende HTML-code op de webpagina:
<% ' Deze pagina moet niet worden opgeslagen in het cache-geheugen. Response.CacheControl = "no-cache"
' De naam van de gebruikerstabel wordt gedefinieerd. Const USERS_TABLE = "tblUsers" ' Het pad naar de aanmeldingspagina wordt gedefinieerd. Const LOGON_PAGE = "/logon/logon.asp" ' Het pad naar de aanmeldingsdatabase wordt gedefinieerd. Const MDB_URL = "/logon/_private/logon.mdb"
' Beschikt u over een geldige gebruikersnaam? If Len(Session("UID")) = 0 Then ' Bevindt u zich momenteel op de aanmeldingspagina? If LCase(LOGON_PAGE) <> LCase(Request.ServerVariables("URL")) Then ' Als dat niet het geval is, wordt een sessievariabele ingesteld voor de pagina die het verzoek heeft ingediend. Session("REFERRER") = Request.ServerVariables("URL") ' Vervolgens wordt de aanmeldingspagina geopend. Response.Redirect LOGON_PAGE End If End If
' Deze functie controleert de combinatie van gebruikersnaam en wachtwoord. Function ComparePassword(UID,PWD) ' De variabelen worden gedefinieerd. Dim strSQL, objCN, objRS ' De SQL-tekenreeks wordt ingesteld. strSQL = "SELECT * FROM " & USERS_TABLE & _ " WHERE (UID='" & ParseText(UID) & _ "' AND PWD='" & ParseText(PWD) & "');" ' Een verbindingsobject voor de database wordt gemaakt. Set objCN = Server.CreateObject("ADODB.Connection") ' Het verbindingsobject voor de database wordt geopend. objCN.Open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & _ Server.MapPath(MDB_URL) & "; uid=admin; pwd=" ' De databasequery wordt uitgevoerd. Set objRS = objCN.Execute(strSQL) ' De status voor de zoekopdracht in de database wordt ingesteld op True/False. ComparePassword = Not(objRS.EOF) ' De databaseobjecten worden gesloten. Set objRS = Nothing Set objCN = Nothing End Function
' Met deze functie wordt de tekst beperkt tot alfanumerieke gegevens. 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%>
- Klik met de rechtermuisknop op het tabblad nieuwe_pagina_1.htm en klik vervolgens op Opslaan.
Sla de pagina op als logon.inc in de map _private van uw aanmeldingswebsite. - Open het menu Bestand en klik op Sluiten om het bestand logon.inc te sluiten.
Terug naar beginDe aanmeldingswebsite testen
Ga hiervoor als volgt te werk:
- Klik in het deelvenster Mappenlijst van FrontPage 2003 met de rechtermuisknop op Default.asp en klik vervolgens op Voorbeeld in browser.
De voorbeeldintroductiepagina wordt in de webbrowser geladen en er verschijnt een bericht dat u niet bent aangemeld. - Klik op de koppeling Niet-beveiligde pagina.
De pagina wordt geladen en er verschijnt een bericht dat u niet bent aangemeld. Klik op de koppeling Terug naar de standaardpagina om terug te keren naar de standaardpagina. - Klik op de koppeling Pagina met wachtwoordbeveiliging.
In plaats van de pagina met wachtwoordbeveiliging wordt nu de pagina logon.asp geladen. - Typ in het vak Gebruikersnaam de naam testuser, typ password in het vak Wachtwoord en klik vervolgens op AANMELDEN.
De pagina met wachtwoordbeveiliging wordt weergegeven en er verschijnt een bericht dat u bent aangemeld als testuser. Klik op de koppeling Terug naar de standaardpagina om terug te keren naar de standaardpagina. De introductiepagina wordt geladen en er verschijnt een bericht dat u bent aangemeld als testuser. - Klik op de koppeling Niet-beveiligde pagina.
De pagina wordt geladen en er verschijnt een bericht dat u bent aangemeld als testuser.
Terug naar beginDe aanmeldingswebsite aanpassen
U kunt de voorbeeldwebsite voor aanmelding als volgt aanpassen:
- Gebruikersnamen en wachtwoorden toevoegen: U kunt de database openen. Dubbelklik daartoe op de database in FrontPage 2003 en voeg vervolgens gebruikers toe aan de tabel tblUsers.
- Andere webpagina's met een wachtwoord beveiligen: Als u een andere webpagina in uw website met een wachtwoord wilt beveiligen, moet u het bestand opslaan met de extensie ASP, bijvoorbeeld Mijnpagina.asp. Vervolgens moet u de volgende twee regels helemaal boven aan het bestand toevoegen:
<% @language="vbscript" %><!--#include virtual="/logon/_private/logon.inc"-->
Met de eerste regel wordt aangeduid dat u Microsoft Visual Basic Scripting Edition (VBScript) gebruikt als scripttaal. De tweede regel bevat de gebruikersnaam- en wachtwoordfunctionaliteit van het include-bestand met aanmeldingsgegevens dat u eerder hebt gemaakt.
Terug naar begin