header.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. setlocale(LC_TIME, 'fr_FR');
  3. date_default_timezone_set(TIME_ZONE);
  4. require DIR_PHP_LIBS . 'PHPMailer/Exception.php';
  5. require DIR_PHP_LIBS . 'PHPMailer/PHPMailer.php';
  6. require DIR_PHP_LIBS . 'PHPMailer/SMTP.php';
  7. use PHPMailer\PHPMailer\PHPMailer;
  8. use PHPMailer\PHPMailer\Exception;
  9. spl_autoload_register(function ($class_name) {
  10. (file_exists(DIR_PHP_CLASS . '/' . $class_name . '.class.php')) ?
  11. require_once DIR_PHP_CLASS . '/' . $class_name . '.class.php' : '';
  12. });
  13. // Filtre les IP authorisés à accéder au site
  14. if (!is_null(WHITE_IP)) {
  15. $userIP = core::getUserIP();
  16. // Validation de l'IP
  17. if (filter_var($userIP, FILTER_VALIDATE_IP) === false || !in_array($userIP, WHITE_IP)) {
  18. header("Location: /noAccess.php");
  19. exit();
  20. }
  21. }
  22. // Vérifier si IP balcklistée
  23. if (blacklist::isValidIPv4()) {
  24. blacklist::itIs();
  25. }
  26. // Si le site est en mode debug
  27. if (debug::isFile("debug")) {
  28. error_reporting(E_ALL);
  29. ini_set("display_errors", 1);
  30. debug::startTimer();
  31. }
  32. // Si le site est en maintenance
  33. if (debug::isFile("maintenance") and $_SERVER['HTTP_HOST'] != DOMAIN_CMS) {
  34. get::page("maintenance");
  35. exit();
  36. }