index.php
-----------
<?php
session_start();
include ( "./functions.php" );
if ( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
// wanneer er 1 van de velden niet is ingevuld
if ( $_POST['sGebruikersNaam'] == "" )
{
echo "Wel naam invullen he, ga <a href='javascript:history.back(-1)';>terug</a>";
}
elseif ( $_POST['sWachtwoord'] == "" )
{
echo "Wel wachtwoord invullen he, ga <a href='javascript:history.back(-1)';>terug</a>";
}
else // wanneer alle velden wel zijn ingevuld
{
if ( !LoginControle() )
{
echo "Gebruikersnaam en wachtwoord zijn onbekend";
}
else
{
header ( "location: beveiligde_pagina.php" );
}
}
}
else
{
?>
<form method="post" action="" >
<table>
<tr>
<td style="width: 100px;">
Gebruikersnaam:
</td>
<td>
<input type="text" name="sGebruikersNaam" value="" />
</td>
</tr>
<tr>
<td style="width: 100px;">
Wachtwoord:
</td>
<td>
<input type="password" name="sWachtwoord" value="" />
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name= submit" value="Gaan" />
</td>
</tr>
</table>
</form>
<?php
}
?>
functions.php
--------------------
<?php
function LoginControle ()
{
$aGebruikers = array ( array('test','test'), // hier kunnen gebruikers toegevoegd worden
array('piet','piet')
);
foreach ( $aGebruikers as $value )
{
if ( $_POST['sGebruikersNaam'] == $value[0] && md5 ( $_POST['sWachtwoord'] ) == md5 ( $value[1] ) )
{
$_SESSION['sGebruikersnaam'] = $_POST['sGebruikersNaam'];
$_SESSION['bIngelogd'] = TRUE;
$_SESSION['iTijd'] = time()+300;
$_SESSION['iIp'] = $_SERVER['REMOTE_ADDR'];
return true;
}
}
}
function Beveiliging()
{
if ( isSet ( $_SESSION['bIngelogd'] ) && ( $_SESSION['bIngelogd'] == 1) )
{
if ( $_SESSION['iTijd'] > ( time() ) )
{
$_SESSION['iTijd'] = time()+300;
return true;
}
elseif ( $_SERVER['REMOTE_ADDR'] != $_SESSION['iIp'] )
{
return false;
}
else
{
return false;
}
}
}
?>
beveiligde_pagina.php
--------------------------
<?php
session_start();
include ( "functions.php" );
if ( !Beveiliging() )
{
// er klopt iets niet ( tijd? , niet ingelogd? ) dus uiloggen die handel met zoiets als session_destroy() etc.
echo "niet ingelogd";
}
else
{
if ( !isSet ( $_GET['actie'] ) )
{
echo "hier de rest van je beveiligde pagina<br /><br />";
echo '<a href="beveiligde_pagina2.php">Naar volgende pagina</a><br />';
echo '<a href="beveiligde_pagina.php?actie=uitloggen">Uitloggen</a>';
}
else
{
switch ( $_GET['actie'] )
{
case 'uitloggen':
session_start();
session_destroy();
header ( "location: index.php" );
}
}
}
?>