Geplaatst door: Ramon Geplaatst op: 27-8-2002 Laatste update: 8-4-2003 20:44:46 Aantal keer bekeken: 54033 Download
voorbeelden Eenvoudige beveiliging
In dit artikel wordt uitgelegd hoe je eenvoudig pagina's kan beveiligen met
een inlognaam en een wachtwoord. Dit wordt gedaan met een kleine database waarin
de inlognamen en wachtwoorden worden bewaard. Deze beveiliging werkt alleen
op ASP pagina's.
Dit is het minimum aan gegevens die je nodig hebt. Het is mogelijk om meer gegevens
in de tabel te plaatsen. Zo zou je ook nog naam, adresgegevens en bijvoorbeeld
het e-mailadres kwijt kunnen. In dit voorbeeld houden we het hierbij.
De beveilig bestaat uit twee onderdelen: de inlogpagina en de include file
die de toegang bepaald.
' Het inloggen is gelukt, ga naar de beveiligde pagina
toe
response.redirect mainpage
End if
%>
Wanneer het inloggen gelukt is, dus de gebruikersnaam en het wachtwoord kwamen
overeen, dan wordt er naar de pagina gegaan die beveiligd is.
Het is erg eenvoudig om een pagina te beveiligen. Wanneer het volgende include
bestand in een pagina wordt opgenomen dan is deze pagina beveiligd.
beveilig.asp
<%
response.expires = 0
if session("ACCESS")
<> "YES" then
response.redirect "default.asp"
end if
%>
Dit stukje code kijkt naar de Sessievariabele "ACCESS" en kijkt of
deze op "YES" staat. Als dit niet het geval is dan wordt je meteen
doorgestuurd naar de inlogpagina. Wanneer "ACCESS" wel op "YES"
staan dan gebeurt er verder niets, de opgevraagde pagina kan gewoon bekeken
worden (Er is immers correct ingelogd waardoor de "ACCESS" op "YES"
is gezet). Het beveiligen van een pagina gebeurt door het toevoegen van de volgende
tekst aan de pagina:
<!--#include
file="beveilig.asp"-->
De pagina is op dat moment beveiligd, dus voordat je hem kan bekijken moet
je eerst inloggen.
uitloggen.asp Met de uitlogpagina wordt de sessie van de gebruiker verwijderd. Dit
betekent dat er geen toegang meer is tot de beveiligde pagina's. Deze pagina
wordt aangeroepen door het plaatsen van een link naar het bestand uitloggen.asp.
Wanneer er niet wordt uitgelogd, vervalt de sessie wanneer er een aantal minuten
niets gedaan wordt. Ook wanneer je de browser afsluit vervalt de sessie na een
aantal minuten. Het aantal minuten is afhankelijk van de instelling op de server.
Standaard is het 20 minuten. Je moet dan weer opnieuw inloggen om toegang te
krijgen.
<%
session.abandon
response.redirect "default.asp"
%>
default2.asp
Dit is de pagina waar de gebruiker uitkomt als hij goed is ingelogd. In dit
voorbeeld staat alleen de tekst dat de gebruiker is ingelogd en een link naar
uitloggen.asp.
Klik hier om meteen
naar default2.asp te gaan. Je zal zien dat je uitkomt op de inlogpagina, omdat
je zo geen toegang tot deze pagina hebt.
Inloggen kan met:
Username: admin
Password: test
Belangrijk!!!!!! Het is erg belangrijk om de database met gebruikersnamen en wachtwoorden
buiten de websitestructuur te plaatsten en vervolgens daar een connectie mee
te maken. Wanneer de database binnen de websitestructuur wordt geplaatst dan
kunnen gebruikers de database downloaden van het internet en hebben ze meteen
alle namen en wachtwoorden.
Het complete script is te downloaden
bij de scripts.
Momenteel ben ik bezig met het maken van een inlogscript. Als basis gebruik ik jouw script. Dit werkt erg goed. Wat ik graag zou willen is dat na het inloggen van een user automatisch zijn of haar eigen papina wordt getoond en niet de default2.asp
Ik wil graag via een login pagina de gebruiker naar een andere pagina sturen afhankeijlk van de userID, dus iedere UserID mag bepaalde records in de tabel bekijken. Is dat wel mogelijk met een ASP script?
Kan je me misschien hiermee helpen??
Ik heb het script voor eenvoudige beveiliging gebruikt en dit werkt perfect, maar na de login wil ik op de default2.asp de naam laten weergeven van de ingelogde gebruiker. Daarvoor heb ik de volgende asp code toegevoegd aan default2.asp:
Dit werkt maar het probleem is dat iedereen die inlogt wordt verwelkomt met de naam van de persoon in de eerste record van mijn database. (waarschijnlijk omdat id gelijk gesteld wordt aan 1 if id = "") Weet iemand een oplossing voor dit probleem? Dank U.
erg kewl dat ik een hele pagina kan beveiligen maar wat ik wil is dat er gedeeltes van een pagina worden verborgen als men niet is ingelogged en als men is ingelogd dat verborgen stukkie tevoorschijn toveren....
>
Het gewone inloggen gaat perfect enzo.
MAAR ik heb ook een invoerpagina.
En heb als je je gegevens aan de database toevoegd voert hij een controle uit of de gebruiker of email adres al bestaat.
Ik wil alleen dat je op de invoerpagina een melding krijgt als 1 van de gevallen aan de orde is dus wel op de invoerpagina! net als bij het inloggen als het niet lukt ( in jullie geval geeft hij : "Fout bij het inloggen!")