From 04d7d564f1b06c94955f1c254bab4eff844de8a8 Mon Sep 17 00:00:00 2001 From: Yass Date: Tue, 3 Mar 2026 11:16:14 +0100 Subject: [PATCH] htaccess c'est vraiment de la merde --- .htaccess | 9 ++++----- controllers/AdminCtrl.php | 4 ++-- controllers/ErrorCtrl.php | 2 ++ controllers/ProjectCtrl.php | 8 ++++---- models/MotherModel.php | 6 +++--- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/.htaccess b/.htaccess index 68ea5db..b0d792e 100644 --- a/.htaccess +++ b/.htaccess @@ -1,9 +1,8 @@ Options -Indexes - -# 1. On définit des URLs propres pour les erreurs -ErrorDocument 403 /error/error_403 -ErrorDocument 404 /error/error_404 - +# Rediriger les erreurs serveur vers ton contrôleur +# On force le passage par index.php pour que ton routeur reçoive les paramètres +ErrorDocument 404 /index.php?ctrl=error&action=error_404 +ErrorDocument 403 /index.php?ctrl=error&action=error_403 # --- Sécurité --- Require all denied diff --git a/controllers/AdminCtrl.php b/controllers/AdminCtrl.php index 88896dc..d84cebe 100644 --- a/controllers/AdminCtrl.php +++ b/controllers/AdminCtrl.php @@ -21,8 +21,8 @@ public function admin(){ if (!isset($_SESSION['user']) && ($_SESSION['user']['user_status'] != 1 )){ - header("Location:index.php?ctrl=error&action=error_403"); - exit; + $error = new \Controllers\ErrorCtrl(); + return $error->error_403(); } $objCategoryModel = new CategoryModel; diff --git a/controllers/ErrorCtrl.php b/controllers/ErrorCtrl.php index 25f3447..9a5e0ff 100644 --- a/controllers/ErrorCtrl.php +++ b/controllers/ErrorCtrl.php @@ -13,6 +13,7 @@ public function error_404(){ http_response_code(404); $this->_display("error_404"); + exit; } /** @@ -21,6 +22,7 @@ public function error_403(){ http_response_code(403); $this->_display("error_403"); + exit; } } \ No newline at end of file diff --git a/controllers/ProjectCtrl.php b/controllers/ProjectCtrl.php index c39e9f0..b92de5e 100644 --- a/controllers/ProjectCtrl.php +++ b/controllers/ProjectCtrl.php @@ -124,8 +124,8 @@ */ public function addedit_project() { if (!isset($_SESSION['user'])){ - header("Location:index.php?ctrl=error&action=error_403"); - exit; + $error = new \Controllers\ErrorCtrl(); + return $error->error_403(); } $objProject = new Project; @@ -135,8 +135,8 @@ if (isset($_GET['id'])){ $arrProject = $objProjectModel->findOne($_GET['id']); if($_SESSION['user']['user_id'] != $arrProject['project_user_id']){ - header("Location:index.php?ctrl=error&action=error_403"); - exit; + $error = new \Controllers\ErrorCtrl(); + return $error->error_403(); } $objProject->hydrate($arrProject); $this->_arrData['arrImages'] = $objProjectModel->getImagesByProjectId($objProject->getId()); diff --git a/models/MotherModel.php b/models/MotherModel.php index df9f2f7..631221e 100644 --- a/models/MotherModel.php +++ b/models/MotherModel.php @@ -11,13 +11,13 @@ try{ $this->_db = new PDO( "mysql:host=localhost;dbname=projet_folliow", - "projet_user", - "F0lliowRules!", + "root", + "", array(PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC) ); $this->_db->exec("SET CHARACTER SET utf8"); $this->_db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); - } catch(PDOException$e) { + } catch(PDOException $e) { echo "Échec : " . $e->getMessage(); } }