router.php

Gesponsorde koppelingen

PHP script bestanden

  1. mapstructuur.txt
  2. htaccess.txt
  3. database-user.sql
  4. config.php
  5. index.php
  6. router.php
  7. LoginCTRL.php
  8. Login.php
  9. login.php
  10. LoggedInCTRL.php
  11. logged-in-page.php
  12. 404CTRL.php
  13. 404.php
  14. header.php
  15. footer.php
  16. style.css

« Lees de omschrijving en reacties

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
// Start beveiligde sessie
session_set_cookie_params(['httponly' => true, 'secure' => true]);
session_start();
session_regenerate_id(true);

// Uitloggen
function logout(){
    session_destroy();
    setcookie('auth_token', "", time() - 3600);
    header('Location: login');
    exit;
}


// Stel GEBRUIKERS-IP en GEBRUIKERS-AGENT in
if(!isset($_SESSION['ip'])) $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
if(!isset($_SESSION['ua'])) $_SESSION['ua'] = $_SERVER['HTTP_USER_AGENT'];

// Uitloggen wanneer het GEBRUIKERS-IP en de GEBRUIKERS-AGENT niet gelijk zijn aan het werkelijke GEBRUIKERS-IP en de GEBRUIKERS-AGENT
if($_SESSION['ip'] != $_SERVER['REMOTE_ADDR'] || $_SESSION['ua'] != $_SERVER['HTTP_USER_AGENT']){
    logout();
}


// Haal de URL voor de ROUTER op
$url = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$urlSegments = explode('/', trim($url, '/'));
$action = !empty($urlSegments[1]) ? $urlSegments[1] : 'login';

// Een lijst met beschikbare pagina's voor wanneer de gebruiker niet is ingelogd
$allowed_actions = ['login'];

// Stuur de gebruiker door naar de homepage als deze niet is ingelogd of als de pagina niet in de $allowed_actions-lijst staat
if(!in_array($action, $allowed_actions) && !isset($_COOKIE['auth_token'], $_SESSION['auth_token'])){
    header('Location: login');
    exit;
}

// Als het COOKIE-token niet overeenkomt met het SESSION-token, wordt de gebruiker uitgelogd
else if(isset($_COOKIE['auth_token'], $_SESSION['auth_token']) && $_COOKIE['auth_token'] !== $_SESSION['auth_token']){
    logout();
}

else{
    require_once 'inc/config.php';
    
    // De ROUTER
    switch($action){
        case
'login':
            require_once 'model/Login.php';
            require_once 'ctrl/LoginCTRL.php';
            $ctrl = new LoginCTRL;
            break;
        case
'redirect-login':
            header('Location: login');
            exit;
        case
'logged-in-page':
            require_once 'ctrl/LoggedInCTRL.php';
            $ctrl = new LoggedInCTRL;
            break;
        case
'logout':
            logout();
        default:

            require_once 'ctrl/404CTRL.php';
            $ctrl = new notFoundCTRL;
            break;
    }

    $ctrl->pageControl();
}


?>

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.