|
@@ -17,4 +17,56 @@
|
|
|
"authenticator",
|
|
"authenticator",
|
|
|
"login",
|
|
"login",
|
|
|
"cron",
|
|
"cron",
|
|
|
- ));
|
|
|
|
|
|
|
+ ));
|
|
|
|
|
+
|
|
|
|
|
+ // Filtre les IP authorisés à accéder au site
|
|
|
|
|
+
|
|
|
|
|
+ if(!is_null(WHITE_IP)){
|
|
|
|
|
+
|
|
|
|
|
+ function getUserIP() {
|
|
|
|
|
+ // Vérifie si l'adresse IP est disponible dans les en-têtes HTTP
|
|
|
|
|
+ if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
|
|
|
|
|
+ // Vérifie si l'IP est passée par un proxy
|
|
|
|
|
+ $ip = $_SERVER['HTTP_CLIENT_IP'];
|
|
|
|
|
+ } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
|
|
|
|
|
+ // Vérifie si l'IP est passée par un autre proxy
|
|
|
|
|
+ $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // Sinon, utilise l'adresse IP directement
|
|
|
|
|
+ $ip = $_SERVER['REMOTE_ADDR'];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return $ip;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ echo "Votre adresse IP est : " . $userIP;
|
|
|
|
|
+
|
|
|
|
|
+ if(!in_array(getUserIP(), WHITE_IP)){
|
|
|
|
|
+ header('HTTP/1.0 401 Unauthorized');
|
|
|
|
|
+ header('Content-Type: text/html; charset=utf-8');
|
|
|
|
|
+ echo ' <!DOCTYPE html>
|
|
|
|
|
+ <html lang="fr">
|
|
|
|
|
+ <head>
|
|
|
|
|
+ <meta charset="UTF-8">
|
|
|
|
|
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
|
+ <title>403 Accès Interdit</title>
|
|
|
|
|
+ <style>
|
|
|
|
|
+ body {
|
|
|
|
|
+ font-family: Arial, sans-serif;
|
|
|
|
|
+ background-color: #f8d7da;
|
|
|
|
|
+ color: #721c24;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ padding: 50px;
|
|
|
|
|
+ }
|
|
|
|
|
+ h1 {
|
|
|
|
|
+ font-size: 2em;
|
|
|
|
|
+ }
|
|
|
|
|
+ </style>
|
|
|
|
|
+ </head>
|
|
|
|
|
+ <body>
|
|
|
|
|
+ <h1>403 Accès Interdit</h1>
|
|
|
|
|
+ </body>
|
|
|
|
|
+ </html>';
|
|
|
|
|
+ exit();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|