ledenscript
omdat de code wat lang is van het hele script kan je het op volgende link in een zip downloaden http://www.jb-web.org/downloads/scripts/php/ledenscript.zip.
Hieronder vind u wel de code van login.inc.php terug die de SESSIES en COOKIES beheerd bij het inloggen.
voor de uitleg erbij
code van voorbeeld.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
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
<?php
if (! isset($_COOKIE['testcookie'])) {
setrawcookie("testcookie", "test", time()+3600*24*365*30);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Hoofdpagina Website</title>
<link href="../css/style.css" rel="stylesheet" type="text/css" />
<?php
/* er worden 4 SESSION waardes teruggegeven als de gebruiker is ingelogd:
- $_SESSION['sid'] moet je toevoegen aan elke url waarnaar je doorverwijsd en je de SESSIE wil bewaren als er geen cookies aanvaard worden door de gebruiker zijn browser.
- $_SESSION['right_id'] komt overeen met de waardes die je in je array moet vermelden.
- $_SESSION['right_name'] de naam van gebruiker zijn recht en ook hieronder beschreven in de array documentatie.
- $_SESSION['right_description'] een korte omschrijving van de rechten van de gebruiker.
*/
// hieronder geef je de cijfers op in een array van de benodigde rechten om de pagina te openen.
$rights = array(1, 2); // 0 = new, 1 = admin, 2 = mod, 3 = crew, 4 = trusted, 5 = member
?>
</head>
<body>
<div>
Hier kan je inhoud zetten die voor iedereen zichtbaar mag zijn.
</div>
<?php
require_once("../includes/login.inc.php");
?>
<div>
Hier kan je inhoud zetten die zichtbaar mag zijn voor al de leden ongeacht hun rechten.
<input class="button" onclick="window.location='../registreer.php'" type="button" value="Registreer" />
</div>
<div>
<?php
if (in_array($_SESSION['right_id'], $rights)) {
echo "Hier kan je inhoud zetten die zichtbaar mag zijn voor de gebruiker die voldoet aan de rechten in \$rights.<br />";
} else {
echo "Hier kan je een mededeling zetten indien de gebruiker niet voldoet aan de rechten in \$rights.<br />";
}
echo "Je hebt <b>" . $_SESSION['right_name'] . "</b> rechten.<br />";
echo "<textarea rows=\"7\" cols=\"63\" readonly=\"readonly\">" . $_SESSION['right_description'] . "</textarea>";
?>
</div>
<a href="<?php echo $_SERVER['PHP_SELF'] . "?" . $_SESSION['sid']; ?>">Herladen</a>
</body>
</html>
if (! isset($_COOKIE['testcookie'])) {
setrawcookie("testcookie", "test", time()+3600*24*365*30);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Hoofdpagina Website</title>
<link href="../css/style.css" rel="stylesheet" type="text/css" />
<?php
/* er worden 4 SESSION waardes teruggegeven als de gebruiker is ingelogd:
- $_SESSION['sid'] moet je toevoegen aan elke url waarnaar je doorverwijsd en je de SESSIE wil bewaren als er geen cookies aanvaard worden door de gebruiker zijn browser.
- $_SESSION['right_id'] komt overeen met de waardes die je in je array moet vermelden.
- $_SESSION['right_name'] de naam van gebruiker zijn recht en ook hieronder beschreven in de array documentatie.
- $_SESSION['right_description'] een korte omschrijving van de rechten van de gebruiker.
*/
// hieronder geef je de cijfers op in een array van de benodigde rechten om de pagina te openen.
$rights = array(1, 2); // 0 = new, 1 = admin, 2 = mod, 3 = crew, 4 = trusted, 5 = member
?>
</head>
<body>
<div>
Hier kan je inhoud zetten die voor iedereen zichtbaar mag zijn.
</div>
<?php
require_once("../includes/login.inc.php");
?>
<div>
Hier kan je inhoud zetten die zichtbaar mag zijn voor al de leden ongeacht hun rechten.
<input class="button" onclick="window.location='../registreer.php'" type="button" value="Registreer" />
</div>
<div>
<?php
if (in_array($_SESSION['right_id'], $rights)) {
echo "Hier kan je inhoud zetten die zichtbaar mag zijn voor de gebruiker die voldoet aan de rechten in \$rights.<br />";
} else {
echo "Hier kan je een mededeling zetten indien de gebruiker niet voldoet aan de rechten in \$rights.<br />";
}
echo "Je hebt <b>" . $_SESSION['right_name'] . "</b> rechten.<br />";
echo "<textarea rows=\"7\" cols=\"63\" readonly=\"readonly\">" . $_SESSION['right_description'] . "</textarea>";
?>
</div>
<a href="<?php echo $_SERVER['PHP_SELF'] . "?" . $_SESSION['sid']; ?>">Herladen</a>
</body>
</html>
code van login.inc.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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
<?php
error_reporting(E_ALL);
session_start();
$path_to_script = "scripts/Eigen Scripts/ledenscript/includes"; // geef hier het path naar het script tov de server root
/*********************************
* HIERONDER NIETS MEER WIJZIGEN *
*********************************/
/* nagaan of de gebruiker zijn browser cookies aanvaard
testen of eerder aangemaakte cookie 'testcookie' aanwezig is.
*/
if (isset($_COOKIE['testcookie'])) { // cookie aanwezig, url zonder SESSID instellen
$_SESSION['url'] = $_SERVER['PHP_SELF'];
$_SESSION['sid'] = "";
} else { // cookie NIET aanwezig, url MET doorgeven SESSID instellen
$_SESSION['sid'] = htmlspecialchars(sid);
$_SESSION['url'] = $_SERVER['PHP_SELF'] . "?" . htmlspecialchars(sid);
setrawcookie("testcookie", "test", time()+3600*24*365*30);
}
// benodigde bestanden invoegen
require_once($_SERVER['DOCUMENT_ROOT'] . "/" . $path_to_script . "/config.inc.php");
require_once($_SERVER['DOCUMENT_ROOT'] . "/" . $path_to_script . "/mysql_config.inc.php"); // Mysql gegevens inladen
require_once($_SERVER['DOCUMENT_ROOT'] . "/" . $path_to_script . "/mysql_functies.inc.php"); // Mysql functies inladen
// bezoeker status instellen als niet ingelogged.
$user_verified = FALSE;
if (isset($_COOKIE[$cookie_name])) {
$cookiedata = explode("/", $_COOKIE[$cookie_name]);
list($coo_username, $coo_password, $coo_user_ip, $coo_verified, $cookie_remember) = $cookiedata;
if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['verifypassword'])) {
if ($coo_password == sha1(md5($_POST['verifypassword']))) {
$coo_verified = time();
if ($cookie_remember == TRUE) {
setrawcookie($cookie_name, $coo_username . "/" . $coo_password . "/" . $coo_user_ip . "/" . $coo_verified . "/TRUE", time()+3600*24*365*30, $cookie_path, $cookie_domain);
} elseif ($cookie_remember == FALSE) {
setrawcookie($cookie_name, $coo_username . "/" . $coo_password . "/" . $coo_user_ip . "/" . $coo_verified . "/FALSE", 0, $cookie_path, $cookie_domain);
}
} else {
echo "!! PASWORD VERIFICATION FAILED !!<br /> Gelieve opnieuw in te loggen";
setrawcookie($cookie_name, "dummy", time()-3600*24*365, $cookie_path, $cookie_domain);
header("Refresh: 2; URL= " . $_SESSION['url']);
exit;
}
}
dbconnect($host, $dbuser, $dbpass, $dbname);
$query = "SELECT user_ip FROM leden_stats, leden_profile WHERE leden_profile.username='" . $coo_username . "' AND leden_profile.password='" . $coo_password . "'";
$result = mysql_query($query);
if (mysql_num_rows($result)) {
$db_user_ip = implode(mysql_fetch_row($result));
if ($db_user_ip == $coo_user_ip) {
$query = "SELECT recht_id, recht_naam, recht_omschrijving FROM leden_rights, leden_stats WHERE leden_rights.recht_id=leden_stats.rechten AND leden_stats.username='" . $coo_username . "'";
$result = mysql_query($query);
$rights_info = mysql_fetch_row($result);
list($_SESSION['right_id'], $_SESSION['right_name'], $_SESSION['right_description']) = $rights_info;
if ($time_verify) {
if ($coo_verified >= time()- $verify_after) {
$username = $coo_username;
$user_ip = $_SERVER['REMOTE_ADDR'];
$user_verified = TRUE;
} else {
echo "Het is meer dan " . date("H:i:s", mktime(0,0,$verify_after)) ." geleden dat je geverifiëerd werd.<br />";
echo "Gelieve je wachtwoord opnieuw in te geven";
?>
<form action="<?php echo $_SESSION['url']; ?>" method="post">
<b>Password:</b>
<input class="input" name="verifypassword" type="password" style="width: 100px" />
<input class="button" name="login" type="submit" value="Verifiëer" />
</form>
<?php
exit;
}
} else {
$username = $coo_username;
$user_ip = $_SERVER['REMOTE_ADDR'];
$user_verified = TRUE;
}
mysql_query("UPDATE leden_stats SET online=1, laatst_actief='" . date('U') . "', user_ip='" . $user_ip . "', laatste_bezoek = '" . date('YmdHis') . "' WHERE username = '" . $username . "'");
} else {
echo "!! IP NIET OK !!<br /> Er werd een cookie teruggevonden maar de data erin is corrupt! Gelieve opnieuw in te loggen";
setrawcookie($cookie_name, "dummy", time()-3600*24*365, $cookie_path, $cookie_domain);
// cookies verwijderen, database updaten indien nodig.
}
} else {
echo "!! PASWOORD NIET OK !!<br /> Er werd een cookie teruggevonden maar de data erin is corrupt! Gelieve opnieuw in te loggen";
setrawcookie($cookie_name, "dummy", time()-3600*24*365, $cookie_path, $cookie_domain);
// cookies verwijderen, database updaten indien nodig.
}
mysql_free_result($result);
mysql_close($m_connect);
} elseif (isset($_SESSION['username'], $_SESSION['password'], $_SESSION['user_ip'], $_SESSION['verified'])) {
if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['verifypassword'])) {
if ($_SESSION['password'] == sha1(md5($_POST['verifypassword']))) {
$_SESSION['verified'] = time();
} else {
echo "!! PASWORD VERIFICATION FAILED !!<br /> Gelieve opnieuw in te loggen";
session_destroy();
header("Refresh: 2; URL= " . $_SESSION['url']);
exit;
}
}
if ($_SESSION['user_ip'] == $_SERVER['REMOTE_ADDR']) {
if ($time_verify) {
if ($_SESSION['verified'] >= time()- $verify_after) {
$user_verified = TRUE;
} else {
echo "Het is meer dan " . date("H:i:s", mktime(0,0,$verify_after)) ." geleden dat je geverifiëerd werd.<br />";
echo "Gelieve je wachtwoord opnieuw in te geven";
?>
<form action="<?php echo $_SESSION['url']; ?>" method="post">
<b>Password:</b>
<input class="input" name="verifypassword" type="password" style="width: 100px" />
<input class="button" name="login" type="submit" value="Verifiëer" />
</form>
<?php
exit;
}
} else {
$user_verified = TRUE;
}
}
} elseif ($_SERVER['REQUEST_METHOD'] === "POST" && isset($_POST['login'], $_POST['username'], $_POST['password']) && strtolower($_POST['login']) === "inloggen") {
$username = trim($_POST['username']);
$password = trim($_POST['password']);
if(preg_match('~["*$<>{}()\[\]§!\'´`áéíóúàèìòùçµäëïö\\\ü]~', $username)) {
echo "De gebruikersnaam bevat ongeldige tekens! Probeer opnieuw.";
} elseif(empty($username)) {
echo "Gelieve een Gebruikersnaam in te vullen.";
} elseif (empty($password)) {
echo "Gelieve een wachtwoord in te vullen.";
} else {
dbconnect($host, $dbuser, $dbpass, $dbname);
$query = "SELECT password FROM leden_profile WHERE username='" . $username . "'";
$result = mysql_query($query);
if (mysql_num_rows($result) === 1) {
$db_user_password = implode(mysql_fetch_row($result));
if ($db_user_password == sha1(md5($password))) {
$query = "SELECT recht_id, recht_naam, recht_omschrijving FROM leden_rights, leden_stats WHERE leden_rights.recht_id=leden_stats.rechten AND leden_stats.username='" . $username . "'";
$result = mysql_query($query);
$rights_info = mysql_fetch_row($result);
list($_SESSION['right_id'], $_SESSION['right_name'], $_SESSION['right_description']) = $rights_info;
$password = sha1(md5($password));
$user_ip = $_SERVER['REMOTE_ADDR'];
$verified = time();
if (isset($_COOKIE['testcookie'])) {
if (isset($_POST['remember']) && $_POST['remember'] == "remember") {
setrawcookie($cookie_name, $username . "/" . $password . "/" . $user_ip . "/" . $verified . "/TRUE", time()+3600*24*365*30, $cookie_path, $cookie_domain);
} else {
setrawcookie($cookie_name, $username . "/" . $password . "/" . $user_ip . "/" . $verified . "/FALSE", 0, $cookie_path, $cookie_domain);
}
} else {
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
$_SESSION['user_ip'] = $user_ip;
$_SESSION['verified'] = $verified;
}
$user_verified = TRUE;
mysql_query("UPDATE leden_stats SET online=1, laatst_actief='" . date('U') . "', user_ip='" . $user_ip . "', aantal_bezoeken=(aantal_bezoeken+1) WHERE username = '" . $username . "'");
} else {
echo "Foutief Paswoord.";
}
} else {
echo "Je gebruikersnaam kan niet gevonden worden gelieve je te registreren.";
}
mysql_close($m_connect);
}
}
if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['logout']) && strtolower($_POST['logout']) == "uitloggen") {
if (isset($_COOKIE[$cookie_name])) {
setrawcookie($cookie_name, "dummy", time()-3600*24*365, $cookie_path, $cookie_domain);
session_destroy();
} else {
session_destroy();
}
dbconnect($host, $dbuser, $dbpass, $dbname);
mysql_query("UPDATE leden_stats SET online=0, laatst_actief='" . date('U') . "', user_ip='" . $user_ip . "' WHERE username = '" . $username . "'");
mysql_close($m_connect);
echo "U wordt Uitgelogged";
header("Refresh: 2; URL= " . $_SERVER['PHP_SELF']);
exit;
}
if (! $user_verified) {
?>
<form action="<?php echo $_SESSION['url']; ?>" method="post">
<b>Username:</b>
<input class="input" name="username" type="text" style="width: 100px" />
<b>Password:</b>
<input class="input" name="password" type="password" style="width: 100px" />
<?php
if (isset($_COOKIE['testcookie'])) {
?>
<input type="checkbox" name="remember" value="remember" style="width: 15px" />Onthouden
<?php
}
?>
<input class="button" name="login" type="submit" value="Inloggen" />
<input class="button" onclick="window.location='../registreer.php'" type="button" value="Registreer" />
</form>
<?php
exit;
} else {
?>
<form action="<?php echo $_SESSION['url']; ?>" method="post">
<input class="button" name="logout" type="submit" value="Uitloggen" />
</form>
<?php
}
?>
error_reporting(E_ALL);
session_start();
$path_to_script = "scripts/Eigen Scripts/ledenscript/includes"; // geef hier het path naar het script tov de server root
/*********************************
* HIERONDER NIETS MEER WIJZIGEN *
*********************************/
/* nagaan of de gebruiker zijn browser cookies aanvaard
testen of eerder aangemaakte cookie 'testcookie' aanwezig is.
*/
if (isset($_COOKIE['testcookie'])) { // cookie aanwezig, url zonder SESSID instellen
$_SESSION['url'] = $_SERVER['PHP_SELF'];
$_SESSION['sid'] = "";
} else { // cookie NIET aanwezig, url MET doorgeven SESSID instellen
$_SESSION['sid'] = htmlspecialchars(sid);
$_SESSION['url'] = $_SERVER['PHP_SELF'] . "?" . htmlspecialchars(sid);
setrawcookie("testcookie", "test", time()+3600*24*365*30);
}
// benodigde bestanden invoegen
require_once($_SERVER['DOCUMENT_ROOT'] . "/" . $path_to_script . "/config.inc.php");
require_once($_SERVER['DOCUMENT_ROOT'] . "/" . $path_to_script . "/mysql_config.inc.php"); // Mysql gegevens inladen
require_once($_SERVER['DOCUMENT_ROOT'] . "/" . $path_to_script . "/mysql_functies.inc.php"); // Mysql functies inladen
// bezoeker status instellen als niet ingelogged.
$user_verified = FALSE;
if (isset($_COOKIE[$cookie_name])) {
$cookiedata = explode("/", $_COOKIE[$cookie_name]);
list($coo_username, $coo_password, $coo_user_ip, $coo_verified, $cookie_remember) = $cookiedata;
if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['verifypassword'])) {
if ($coo_password == sha1(md5($_POST['verifypassword']))) {
$coo_verified = time();
if ($cookie_remember == TRUE) {
setrawcookie($cookie_name, $coo_username . "/" . $coo_password . "/" . $coo_user_ip . "/" . $coo_verified . "/TRUE", time()+3600*24*365*30, $cookie_path, $cookie_domain);
} elseif ($cookie_remember == FALSE) {
setrawcookie($cookie_name, $coo_username . "/" . $coo_password . "/" . $coo_user_ip . "/" . $coo_verified . "/FALSE", 0, $cookie_path, $cookie_domain);
}
} else {
echo "!! PASWORD VERIFICATION FAILED !!<br /> Gelieve opnieuw in te loggen";
setrawcookie($cookie_name, "dummy", time()-3600*24*365, $cookie_path, $cookie_domain);
header("Refresh: 2; URL= " . $_SESSION['url']);
exit;
}
}
dbconnect($host, $dbuser, $dbpass, $dbname);
$query = "SELECT user_ip FROM leden_stats, leden_profile WHERE leden_profile.username='" . $coo_username . "' AND leden_profile.password='" . $coo_password . "'";
$result = mysql_query($query);
if (mysql_num_rows($result)) {
$db_user_ip = implode(mysql_fetch_row($result));
if ($db_user_ip == $coo_user_ip) {
$query = "SELECT recht_id, recht_naam, recht_omschrijving FROM leden_rights, leden_stats WHERE leden_rights.recht_id=leden_stats.rechten AND leden_stats.username='" . $coo_username . "'";
$result = mysql_query($query);
$rights_info = mysql_fetch_row($result);
list($_SESSION['right_id'], $_SESSION['right_name'], $_SESSION['right_description']) = $rights_info;
if ($time_verify) {
if ($coo_verified >= time()- $verify_after) {
$username = $coo_username;
$user_ip = $_SERVER['REMOTE_ADDR'];
$user_verified = TRUE;
} else {
echo "Het is meer dan " . date("H:i:s", mktime(0,0,$verify_after)) ." geleden dat je geverifiëerd werd.<br />";
echo "Gelieve je wachtwoord opnieuw in te geven";
?>
<form action="<?php echo $_SESSION['url']; ?>" method="post">
<b>Password:</b>
<input class="input" name="verifypassword" type="password" style="width: 100px" />
<input class="button" name="login" type="submit" value="Verifiëer" />
</form>
<?php
exit;
}
} else {
$username = $coo_username;
$user_ip = $_SERVER['REMOTE_ADDR'];
$user_verified = TRUE;
}
mysql_query("UPDATE leden_stats SET online=1, laatst_actief='" . date('U') . "', user_ip='" . $user_ip . "', laatste_bezoek = '" . date('YmdHis') . "' WHERE username = '" . $username . "'");
} else {
echo "!! IP NIET OK !!<br /> Er werd een cookie teruggevonden maar de data erin is corrupt! Gelieve opnieuw in te loggen";
setrawcookie($cookie_name, "dummy", time()-3600*24*365, $cookie_path, $cookie_domain);
// cookies verwijderen, database updaten indien nodig.
}
} else {
echo "!! PASWOORD NIET OK !!<br /> Er werd een cookie teruggevonden maar de data erin is corrupt! Gelieve opnieuw in te loggen";
setrawcookie($cookie_name, "dummy", time()-3600*24*365, $cookie_path, $cookie_domain);
// cookies verwijderen, database updaten indien nodig.
}
mysql_free_result($result);
mysql_close($m_connect);
} elseif (isset($_SESSION['username'], $_SESSION['password'], $_SESSION['user_ip'], $_SESSION['verified'])) {
if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['verifypassword'])) {
if ($_SESSION['password'] == sha1(md5($_POST['verifypassword']))) {
$_SESSION['verified'] = time();
} else {
echo "!! PASWORD VERIFICATION FAILED !!<br /> Gelieve opnieuw in te loggen";
session_destroy();
header("Refresh: 2; URL= " . $_SESSION['url']);
exit;
}
}
if ($_SESSION['user_ip'] == $_SERVER['REMOTE_ADDR']) {
if ($time_verify) {
if ($_SESSION['verified'] >= time()- $verify_after) {
$user_verified = TRUE;
} else {
echo "Het is meer dan " . date("H:i:s", mktime(0,0,$verify_after)) ." geleden dat je geverifiëerd werd.<br />";
echo "Gelieve je wachtwoord opnieuw in te geven";
?>
<form action="<?php echo $_SESSION['url']; ?>" method="post">
<b>Password:</b>
<input class="input" name="verifypassword" type="password" style="width: 100px" />
<input class="button" name="login" type="submit" value="Verifiëer" />
</form>
<?php
exit;
}
} else {
$user_verified = TRUE;
}
}
} elseif ($_SERVER['REQUEST_METHOD'] === "POST" && isset($_POST['login'], $_POST['username'], $_POST['password']) && strtolower($_POST['login']) === "inloggen") {
$username = trim($_POST['username']);
$password = trim($_POST['password']);
if(preg_match('~["*$<>{}()\[\]§!\'´`áéíóúàèìòùçµäëïö\\\ü]~', $username)) {
echo "De gebruikersnaam bevat ongeldige tekens! Probeer opnieuw.";
} elseif(empty($username)) {
echo "Gelieve een Gebruikersnaam in te vullen.";
} elseif (empty($password)) {
echo "Gelieve een wachtwoord in te vullen.";
} else {
dbconnect($host, $dbuser, $dbpass, $dbname);
$query = "SELECT password FROM leden_profile WHERE username='" . $username . "'";
$result = mysql_query($query);
if (mysql_num_rows($result) === 1) {
$db_user_password = implode(mysql_fetch_row($result));
if ($db_user_password == sha1(md5($password))) {
$query = "SELECT recht_id, recht_naam, recht_omschrijving FROM leden_rights, leden_stats WHERE leden_rights.recht_id=leden_stats.rechten AND leden_stats.username='" . $username . "'";
$result = mysql_query($query);
$rights_info = mysql_fetch_row($result);
list($_SESSION['right_id'], $_SESSION['right_name'], $_SESSION['right_description']) = $rights_info;
$password = sha1(md5($password));
$user_ip = $_SERVER['REMOTE_ADDR'];
$verified = time();
if (isset($_COOKIE['testcookie'])) {
if (isset($_POST['remember']) && $_POST['remember'] == "remember") {
setrawcookie($cookie_name, $username . "/" . $password . "/" . $user_ip . "/" . $verified . "/TRUE", time()+3600*24*365*30, $cookie_path, $cookie_domain);
} else {
setrawcookie($cookie_name, $username . "/" . $password . "/" . $user_ip . "/" . $verified . "/FALSE", 0, $cookie_path, $cookie_domain);
}
} else {
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
$_SESSION['user_ip'] = $user_ip;
$_SESSION['verified'] = $verified;
}
$user_verified = TRUE;
mysql_query("UPDATE leden_stats SET online=1, laatst_actief='" . date('U') . "', user_ip='" . $user_ip . "', aantal_bezoeken=(aantal_bezoeken+1) WHERE username = '" . $username . "'");
} else {
echo "Foutief Paswoord.";
}
} else {
echo "Je gebruikersnaam kan niet gevonden worden gelieve je te registreren.";
}
mysql_close($m_connect);
}
}
if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['logout']) && strtolower($_POST['logout']) == "uitloggen") {
if (isset($_COOKIE[$cookie_name])) {
setrawcookie($cookie_name, "dummy", time()-3600*24*365, $cookie_path, $cookie_domain);
session_destroy();
} else {
session_destroy();
}
dbconnect($host, $dbuser, $dbpass, $dbname);
mysql_query("UPDATE leden_stats SET online=0, laatst_actief='" . date('U') . "', user_ip='" . $user_ip . "' WHERE username = '" . $username . "'");
mysql_close($m_connect);
echo "U wordt Uitgelogged";
header("Refresh: 2; URL= " . $_SERVER['PHP_SELF']);
exit;
}
if (! $user_verified) {
?>
<form action="<?php echo $_SESSION['url']; ?>" method="post">
<b>Username:</b>
<input class="input" name="username" type="text" style="width: 100px" />
<b>Password:</b>
<input class="input" name="password" type="password" style="width: 100px" />
<?php
if (isset($_COOKIE['testcookie'])) {
?>
<input type="checkbox" name="remember" value="remember" style="width: 15px" />Onthouden
<?php
}
?>
<input class="button" name="login" type="submit" value="Inloggen" />
<input class="button" onclick="window.location='../registreer.php'" type="button" value="Registreer" />
</form>
<?php
exit;
} else {
?>
<form action="<?php echo $_SESSION['url']; ?>" method="post">
<input class="button" name="logout" type="submit" value="Uitloggen" />
</form>
<?php
}
?>