Admin Panel
Ik heb een goedwerkend loginsysteem met cookies.
Maar ik zou er graag een admin panel bij willen maken.
Dat je als je ingelogd bent doorgestuurd word naar admin.php en dat daar iets van: if $_COOKIE['user']='omehenk' moet komen te staan.
Heeft iemand hier uitleg of een script voor?
p.s. als je registreerd bent, moet er wel automatisch een admin panel voor je gemaakt worden.
Hier is de
login.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
/*
Inlog- & registratiescript door Erwin © 2005 -> www.html-site.nl
Voor uitgebreide uitleg, tips, uitbreidingen of hulp met dit script
en het complete downloadbare zip-bestand kun je kijken op http://www.html-site.nl/
*/
// sql connectie includen
include('contactdb.php');
// waar moet de bezoeker heengestuurd worden nadat hij/zij succesvol ingelogd is ?
$redirect_pagina = "pagina.php"; ?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="stylelogin.css" />
</head>
</html>
<?php
if ($_GET['actie'] == 'inloggen') {
// als inlogformulier is verstuurd
$sql = "SELECT * FROM members WHERE inlognaam='".$_POST['inlognaam']."'";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
$aantal = mysql_num_rows($resultaat);
if ($aantal == '0') {
// als er geen resultaat is gevonden
echo "Het door u ingevulde inlognaam bestaat niet. Klik <a href=\"".$_SERVER['PHP_SELF']."\">hier</a> om het nogmaals te proberen.";
} else {
$login = mysql_fetch_object($resultaat);
$login->passwoord;
$login->inlognaam;
if($_POST['passwoord'] == $login->passwoord) {
// als gegevens kloppen met gegevens uit database, cookies setten en doorsturen!
setcookie("inlognaam", $_POST['inlognaam'], time() + 60*60); // cookie blijft 60 keer 60 seconden bestaan
setcookie("passwoord", $_POST['wachtwoord'], time() + 60*60);
echo "U bent succesvol ingelogd, een moment.. <META HTTP-EQUIV=\"REFRESH\" CONTENT=\"2; URL=".$redirect_pagina."\">";
} else {
echo "Uw inloggegevens kloppen niet, klik <a href=\"".$_SERVER['PHP_SELF']."\">hier</a> om nogmaals te proberen.";
}
}
} else if ($_GET['actie'] == 'registreren') {
// als men zich wil registreren
if ($_GET['versturen'] == 'ja') {
// als formulier reeds is verstuurd
if (empty($_POST['inlognaam'])) {
echo "Je hebt geen inlognaam ingevuld, <a href=\"".$_SERVER['PHP_SELF']."?actie=registreren\">Probeer nogmaals</a>.";
} else if (empty($_POST['passwoord'])) {
echo "Je hebt geen passwoord ingevuld, <a href=\"".$_SERVER['PHP_SELF']."?actie=registreren\">Probeer nogmaals</a>.";
} else if (empty($_POST['passwoord_controle'])) {
echo "Je moet ter controle ook het controleveld voor het passwoord invullen, <a href=\"".$_SERVER['PHP_SELF']."?actie=registreren\">Probeer nogmaals</a>.";
} else {
if ($_POST['passwoord'] != $_POST['passwoord_controle']) {
echo "De ingevoerde passwoorden kwamen niet overeen, <a href=\"".$_SERVER['PHP_SELF']."?actie=registreren\">Probeer nogmaals</a>.";
} else {
$registreer = "INSERT INTO members (inlognaam, passwoord) VALUES ('".$_POST['inlognaam']."', '".$_POST['passwoord']."')";
mysql_query($registreer) or die(mysql_error());
echo "Uw gegevens zijn succesvol opgeslagen! Klik <a href=\"".$_SERVER['PHP_SELF']."\">hier</a> om in te kunnen loggen.";
}
}
} else {
// als formulier nog niet is verstuurd, toon registratieformulier
echo "<form action=\"".$_SERVER['PHP_SELF']."?actie=registreren&versturen=ja\" method=\"post\">
<table>
<tr><th colspan=\"2\">Registreren</th></tr>
<tr><td>Inlognaam</td><td><input type=\"text\" name=\"inlognaam\" size=\"15\"></td></tr>
<tr><td>Password</td><td><input type=\"password\" name=\"passwoord\" size=\"15\"></td></tr>
<tr><td>Password <small>(controle)</small></td><td><input type=\"password\" name=\"passwoord_controle\" size=\"15\"></td></tr>
<tr><td></td><td><input type=\"submit\" value=\"Registreer\"></td></tr>
</table></form>";
}
} else {
// inlogformulier
echo "<form action=\"".$_SERVER['PHP_SELF']."?actie=inloggen\" method=\"post\">
<table>
<tr><th colspan=\"2\">Inloggen</th></tr>
<tr><td>Inlognaam</td><td><input type=\"text\" name=\"inlognaam\" size=\"15\"></td></tr>
<tr><td>Password</td><td><input type=\"password\" name=\"passwoord\" size=\"15\"></td></tr>
<tr><td></td><td><input type=\"submit\" value=\"Inloggen\"></td></tr>
<tr><td></td><td><a href=\"".$_SERVER['PHP_SELF']."?actie=registreren\">Registreren</a></td></tr>
</table></form>";
}
?>
/*
Inlog- & registratiescript door Erwin © 2005 -> www.html-site.nl
Voor uitgebreide uitleg, tips, uitbreidingen of hulp met dit script
en het complete downloadbare zip-bestand kun je kijken op http://www.html-site.nl/
*/
// sql connectie includen
include('contactdb.php');
// waar moet de bezoeker heengestuurd worden nadat hij/zij succesvol ingelogd is ?
$redirect_pagina = "pagina.php"; ?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="stylelogin.css" />
</head>
</html>
<?php
if ($_GET['actie'] == 'inloggen') {
// als inlogformulier is verstuurd
$sql = "SELECT * FROM members WHERE inlognaam='".$_POST['inlognaam']."'";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
$aantal = mysql_num_rows($resultaat);
if ($aantal == '0') {
// als er geen resultaat is gevonden
echo "Het door u ingevulde inlognaam bestaat niet. Klik <a href=\"".$_SERVER['PHP_SELF']."\">hier</a> om het nogmaals te proberen.";
} else {
$login = mysql_fetch_object($resultaat);
$login->passwoord;
$login->inlognaam;
if($_POST['passwoord'] == $login->passwoord) {
// als gegevens kloppen met gegevens uit database, cookies setten en doorsturen!
setcookie("inlognaam", $_POST['inlognaam'], time() + 60*60); // cookie blijft 60 keer 60 seconden bestaan
setcookie("passwoord", $_POST['wachtwoord'], time() + 60*60);
echo "U bent succesvol ingelogd, een moment.. <META HTTP-EQUIV=\"REFRESH\" CONTENT=\"2; URL=".$redirect_pagina."\">";
} else {
echo "Uw inloggegevens kloppen niet, klik <a href=\"".$_SERVER['PHP_SELF']."\">hier</a> om nogmaals te proberen.";
}
}
} else if ($_GET['actie'] == 'registreren') {
// als men zich wil registreren
if ($_GET['versturen'] == 'ja') {
// als formulier reeds is verstuurd
if (empty($_POST['inlognaam'])) {
echo "Je hebt geen inlognaam ingevuld, <a href=\"".$_SERVER['PHP_SELF']."?actie=registreren\">Probeer nogmaals</a>.";
} else if (empty($_POST['passwoord'])) {
echo "Je hebt geen passwoord ingevuld, <a href=\"".$_SERVER['PHP_SELF']."?actie=registreren\">Probeer nogmaals</a>.";
} else if (empty($_POST['passwoord_controle'])) {
echo "Je moet ter controle ook het controleveld voor het passwoord invullen, <a href=\"".$_SERVER['PHP_SELF']."?actie=registreren\">Probeer nogmaals</a>.";
} else {
if ($_POST['passwoord'] != $_POST['passwoord_controle']) {
echo "De ingevoerde passwoorden kwamen niet overeen, <a href=\"".$_SERVER['PHP_SELF']."?actie=registreren\">Probeer nogmaals</a>.";
} else {
$registreer = "INSERT INTO members (inlognaam, passwoord) VALUES ('".$_POST['inlognaam']."', '".$_POST['passwoord']."')";
mysql_query($registreer) or die(mysql_error());
echo "Uw gegevens zijn succesvol opgeslagen! Klik <a href=\"".$_SERVER['PHP_SELF']."\">hier</a> om in te kunnen loggen.";
}
}
} else {
// als formulier nog niet is verstuurd, toon registratieformulier
echo "<form action=\"".$_SERVER['PHP_SELF']."?actie=registreren&versturen=ja\" method=\"post\">
<table>
<tr><th colspan=\"2\">Registreren</th></tr>
<tr><td>Inlognaam</td><td><input type=\"text\" name=\"inlognaam\" size=\"15\"></td></tr>
<tr><td>Password</td><td><input type=\"password\" name=\"passwoord\" size=\"15\"></td></tr>
<tr><td>Password <small>(controle)</small></td><td><input type=\"password\" name=\"passwoord_controle\" size=\"15\"></td></tr>
<tr><td></td><td><input type=\"submit\" value=\"Registreer\"></td></tr>
</table></form>";
}
} else {
// inlogformulier
echo "<form action=\"".$_SERVER['PHP_SELF']."?actie=inloggen\" method=\"post\">
<table>
<tr><th colspan=\"2\">Inloggen</th></tr>
<tr><td>Inlognaam</td><td><input type=\"text\" name=\"inlognaam\" size=\"15\"></td></tr>
<tr><td>Password</td><td><input type=\"password\" name=\"passwoord\" size=\"15\"></td></tr>
<tr><td></td><td><input type=\"submit\" value=\"Inloggen\"></td></tr>
<tr><td></td><td><a href=\"".$_SERVER['PHP_SELF']."?actie=registreren\">Registreren</a></td></tr>
</table></form>";
}
?>
AL OPGELOST!
Hoe dan?
Zie ik goed dat je het wachtwoord zomaar opslaat in een cookie? Dat is dus totaal onveilig. Je moet NOOIT, maar dan ook NOOIT een wachtwoord unencrypted in een cookie zetten.
Mathijs schreef op 15.03.2008 20:40:
Zie ik goed dat je het wachtwoord zomaar opslaat in een cookie? Dat is dus totaal onveilig. Je moet NOOIT, maar dan ook NOOIT een wachtwoord unencrypted in een cookie zetten.
Encrypted ook niet, en een username zet je ook niet in een cookie. Het enige wat je eventueel in een cookie zet is een hash zodat iemand ingelogd blijft.
Hij zegt toch ook niet dat het encrypted wèl goed is?
Ik bedoelde inderdaad ook niet dat alléén encrypted goed is. Je moet inderdaad altijd een hash gebruiken, en verder geen inloggegevens opslaan.