login  Naam:   Wachtwoord: 
Registreer je!
 Forum

beveiliging php

Offline raul - 29/11/2004 16:30
Avatar van raulNieuw lid wie kan mij wat helpen met de beveiliging in php.

Krijg altij volgende fout wanner ik inlog:


Fatal error: Call to undefined function: uitloggen() in C:\sokkit\site\login\index.php on line 11

Dit is men registreren bestand
<?php

// Configuratiebestand beschikbaar maken zodat we toegang hebben tot onze database
require_once "config.inc.php";
// User klasse beschikbaar stellen
require_once "login.class.php";

?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>
<style type="text/css">
<!--
body,td,th {
font-family: Georgia, Times New Roman, Times, serif;
color: #0000FF;
}
body {
background-color: #FFFF99;
}
-->
</style></head>
<body>
<?php

// Nakijken of het forumier submit is
if ($_POST['registreren']) {

// We maken een nieuw object aan...
$user = new user;
// ... en laten de ingevulde gegevens parsen.
$user ->registreren();

// Het formulier is nog niet submit, dus tonen we de velden.
} else {

?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table>
<tr>
<td>Gebruikersnaam*:</td>
<td><input type="text" name="gebruikersnaam" size="20" /></td>
</tr>
<tr>
<td>Wachtwoord*:</td>
<td><input type="password" name="wachtwoord1" size="20" /></td>
</tr>
<tr>
<td>Wachtwoord*:<br /><small>(Bevestigen)</small></td>
<td><input type="password" name="wachtwoord2" size="20" /></td>
</tr>
<tr>
<td>Voornaam:</td>
<td><input type="text" name="naam" size="20" /></td>
</tr>
<tr>
<td>Achternaam:</td>
<td><input type="text" name="achternaam" size="20" /></td>
</tr>
<tr>
<td>E-mailadres:</td>
<td><input type="text" name="emailadres" size="20" /></td>
</tr>
<tr>
<td colspan="2">Velden met een * zijn verplicht in te vullen.</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Registreren" name="registreren" />
</td>
</tr>
</table>
<?php

}

?>
</body>
</html>

dit is mijn login.class.php
<?php

class user {

function registreren() {

// Zorgen dat we het voorvoegsel, dat we in onze config file hebben ingesteld, kunnen gebruiken
global $db_prefix;

// Nakijken of alle velden ingevuld werden
// Je kan hier zelf nog zoveel velden toevoegen als je wil.
// Als voorbeeld zullen enkel de velden gebruikersnaam en wachtwoord ingevuld moeten zijn.

// Nakijken of alle velden ingevuld zijn...
// We hoeven niet na te kijken of wachtwoord2 ook ingevuld is, omdat we zo meteen de
// 2 wachtwoorden gaan vergelijken met elkaar.
if (strlen(trim($_POST['gebruikersnaam'])) == 0 || strlen(trim($_POST['wachtwoord1'])) == 0) $error = "Gelieve alle verplichte velden in te vullen<br />";
// De twee ingevulde wachtwoorden vergelijken
if ($_POST['wachtwoord1'] != $_POST['wachtwoord2']) $error = "Gelieve twee keer hetzelfde wachtwoord in te vullen<br />";
// Elke gebruikersnaam mag maar één keer voorkomen in de database, dus gaan we dit ook controleren
if (mysql_result(mysql_query("SELECT COUNT(*) FROM ".$db_prefix."leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'"),0) != 0) $error = "Gelieve een andere gebruikersnaam te kiezen";


// Fout opgetreden?
if ($error) {

echo $error;
return false;

} else {

// Alle ingevulde data wegschrijven naar de database
mysql_query("INSERT INTO ".$db_prefix."leden (
gebruikersnaam,
wachtwoord,
naam,
achternaam,
emailadres,
registratiedatum
) VALUES (
'".$_POST['gebruikersnaam']."',
MD5('".$_POST['wachtwoord1']."'),
'".addslashes(htmlspecialchars($_POST['naam']))."' ,
'".addslashes(htmlspecialchars($_POST['achternaam']))."' ,
'".addslashes(htmlspecialchars($_POST['emailadres']))."' ,
'".time()."'
)");

// Sessie bijwerkken
$_SESSION['gebruikersnaam'] = $_POST['gebruikersnaam'];
$_SESSION['uid'] = mysql_insert_id();

// ... en de bezoeker op de hoogte brengen dat alles goed is verlopen
echo 'Beste '.$_POST['gebruikersnaam'].', <br /><br />
Je werd met succes geregistreerd. We hebben je eveens al ingelogd.<br /><br />
De crew';

}

}
}
?>
<?php

function inloggen() {

// Onze bezoeker is reeds ingelogd
if ($_SESSION) echo "Je bent reeds ingelogd";
else {

// Nakijken of er overal wel iets werd ingevuld.
if (strlen($_POST['gebruikersnaam']) == 0) $error .= 'Gelieve een gebruikersnaam in te vullen.<br />';
if (strlen($_POST['wachtwoord']) == 0) $error .= 'Gelieve een wachtwoord in te vullen.';

// Werd er zonet een fout gevonden?
if ($error) {

// ... dan tonen we ze
echo '<div style="font-weight:bold; color:#cc0000;">'.$error.'</div>';

// ... anders gaan we verder met de rest van de controles
} else {


// De gegevens van de bezoeker uit de database halen a.d.h.v. de opgegeven gebruikresnaam
$sql = "SELECT gebruikersnaam, wachtwoord FROM ".$db_prefix."leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'";
$qry = mysql_query($sql)or die(mysql_error());
$row = mysql_fetch_array($qry);

// Klopt het wachtwoord wel?
if ($row['wachtwoord'] != md5($_POST['wachtwoord'])) {

// Indien niet, vertellen we dit onze bezoeker.
echo '<div style="font-weight:bold; color:#cc0000;">Uw gebruikersnaam en/of wachtwoord blijken niet te kloppen.</div>';

// als het wel klopt...
} else {

// ... starten we de sessie
session_start();

// ... even nakijken ofdat onze bezoeker heeft aangegeven altijd ingelogd te willen blijven
if ($_POST['automatischinloggen']) {

// ... indien dit waar is, plaatsen we 2 cookies
header('P3P: CP="ALL DSP COR NID CURa OUR STP PUR"');
setcookie('gebruikersnaam', $row['gebruikersnaam'], time() + 5184000, "/");
setcookie('wachtwoord', $row['wachtwoord'], time() + 5184000, "/");

}

// De bezoeker terugsturen naar de url waar hij van kwam
header ('Location: '.$_SERVER['HTTP_REFERER']);

}

}

}

}

?>

<?php

function uitloggen() {

// De bezoeker moet ingelogd zijn voor hij kan uitloggen...
if ($_SESSION) {

// cookies leegmaken
header('P3P: CP="ALL DSP COR NID CURa OUR STP PUR"');
setcookie('gebruikersnaam', '', time() + 5184000, "/");
setcookie('wachtwoord', '', time() + 5184000, "/");

session_destroy();

// De bezoeker terugsturen van waar hij kwam
header ('Location: '.$_SERVER['HTTP_REFERER']);

// De bezoekers was niet ingelogd
} else echo "Gelieve eerst in te loggen alvorens uit te loggen";

}

?>




dit is mijn index
<?php

// Configuratiebestand beschikbaar maken zodat we toegang hebben tot onze database
require_once "config.inc.php";
// User klasse beschikbaar stellen
require_once "login.class.php";

if ($_GET['actie'] == "uitloggen") {

$user = new user;
$user ->uitloggen();

}

// Nakijken of het forumier submit is
if ($_POST['inloggen']) {

// We maken een nieuw object aan...
$user = new user;
// ... en kijken na of de ingevulde gegevens kloppen
$user ->inloggen();

}

?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Login - www.multidesk.be</title>
</head>
<body>
<?php

// Nakijken of onze bezoeker reeds is ingelogd...
if($_SESSION) echo '<a href="'.$_SERVER['PHP_SELF'].'?actie=uitloggen">Uitloggen</a>';
else {

?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Gebruikersnaam: <input type="text" name="gebruikersnaam" size="10" /><br />
Wachtwoord: <input type="password" name="wachtwoord" size="10" /><br />
Remember me:<input type="checkbox" checked="checked" name="automatischinloggen" /><br />
<input type="submit" value="Inloggen" name="inloggen" />
</form>
<a href="registreren.php">Registreren</a>
<?php } ?>
</body>
</html>

0 antwoorden

Gesponsorde links
Er zijn nog geen reacties op dit bericht.
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.225s