Pagina enkel voor ingelogde gebruiker
Jony V
16/02/2014 19:36:58Ik heb een bestand index.php. Hier bekijk ik of de gebruiker ingelogd is (via custom functie). Als dat zo is, require ik een bepaald bestand, afhankelijk van de '?part='-parameter in de URL.
Een voorbeeld:
index.php
Op deze manier werkt het, maar de gebruiker kan gewoon, niet ingelogd, rechtstreeks browsen naar belangrijke-info.php, en zo toch het bestand zien terwijl niet ingelogd. Hoe kan ik dit oplossen? Liefst blijf ik bij index.php, anders zou ik in elk bestand dat ik require (belangrijke-info.php is niet het enige), bekijken of de user ingelogd is, terwijl ik het in index.php maar 1x moet doen
Een voorbeeld:
index.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
$part = $_GET['part'] // maar dan met htmlentities of dergelijke
if (user_logged_in == true) {
switch ($part) {
case 'info':
require_once 'bestanden/beveiligd/belangrijke-info.php';
break;
case ... // enz...
}
} else {
...
}
if (user_logged_in == true) {
switch ($part) {
case 'info':
require_once 'bestanden/beveiligd/belangrijke-info.php';
break;
case ... // enz...
}
} else {
...
}
Op deze manier werkt het, maar de gebruiker kan gewoon, niet ingelogd, rechtstreeks browsen naar belangrijke-info.php, en zo toch het bestand zien terwijl niet ingelogd. Hoe kan ik dit oplossen? Liefst blijf ik bij index.php, anders zou ik in elk bestand dat ik require (belangrijke-info.php is niet het enige), bekijken of de user ingelogd is, terwijl ik het in index.php maar 1x moet doen
Gewijzigd op 17/02/2014 06:45:45 door Jony V
PHP hulp
25/11/2024 14:03:28Michael -
17/02/2014 09:09:36Beste manier is toch om elke pagina te controleren of de gebruiker is ingelogd. Hiervoor kun je een controle maken met user_logged_in en die overal include'n.