diff options
| author | polo <ordipolo@gmx.fr> | 2026-03-29 21:19:42 +0200 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2026-03-29 21:19:42 +0200 |
| commit | bc24cb0e862c66475ac04a4c5fab3eac48bcf4a1 (patch) | |
| tree | 1d91f42de15e289232ae719f76d42a23d6a4631f | |
| parent | c4e8e1041d99b3b0e8d9e2d45a154561291ec4e9 (diff) | |
| download | cms-bc24cb0e862c66475ac04a4c5fab3eac48bcf4a1.tar.gz cms-bc24cb0e862c66475ac04a4c5fab3eac48bcf4a1.tar.bz2 cms-bc24cb0e862c66475ac04a4c5fab3eac48bcf4a1.zip | |
contrôles dans INSTALLATION nécéssitent root (meilleures performances)
| -rw-r--r-- | public/index.php | 9 | ||||
| -rw-r--r-- | src/service/session.php | 20 |
2 files changed, 17 insertions, 12 deletions
diff --git a/public/index.php b/public/index.php index a12bc47..db8808e 100644 --- a/public/index.php +++ b/public/index.php | |||
| @@ -37,11 +37,15 @@ URL::setHost($_SERVER['HTTP_HOST'] . Config::$index_path); | |||
| 37 | // $entityManager | 37 | // $entityManager |
| 38 | require '../src/model/doctrine-bootstrap.php'; // isDevMode est sur "true", DSN à adapter | 38 | require '../src/model/doctrine-bootstrap.php'; // isDevMode est sur "true", DSN à adapter |
| 39 | 39 | ||
| 40 | // session | ||
| 41 | require('../src/service/session.php'); | ||
| 42 | startSession($entityManager); | ||
| 43 | |||
| 40 | // mode de fonctionnement | 44 | // mode de fonctionnement |
| 41 | AppMode::load($entityManager); | 45 | AppMode::load($entityManager); |
| 42 | 46 | ||
| 43 | // tests de bon fonctionnement | 47 | // tests de bon fonctionnement |
| 44 | if(AppMode::is('maintenance')){ | 48 | if(IS_ADMIN && AppMode::is('maintenance')){ |
| 45 | Installation::phpDependancies(); | 49 | Installation::phpDependancies(); |
| 46 | Installation::checkFilesAndFoldersRights(); | 50 | Installation::checkFilesAndFoldersRights(); |
| 47 | 51 | ||
| @@ -51,9 +55,6 @@ if(AppMode::is('maintenance')){ | |||
| 51 | 55 | ||
| 52 | $request = Request::createFromGlobals(); | 56 | $request = Request::createFromGlobals(); |
| 53 | 57 | ||
| 54 | // session | ||
| 55 | require('../src/service/session.php'); | ||
| 56 | |||
| 57 | // en mode maintenance laisser la possibilité de se logger, bloquer le reste du site aux visiteurs | 58 | // en mode maintenance laisser la possibilité de se logger, bloquer le reste du site aux visiteurs |
| 58 | if(AppMode::is('maintenance') && !IS_ADMIN | 59 | if(AppMode::is('maintenance') && !IS_ADMIN |
| 59 | && !($request->query->has('page') && $request->query->get('page') === 'connection') | 60 | && !($request->query->has('page') && $request->query->get('page') === 'connection') |
diff --git a/src/service/session.php b/src/service/session.php index 57f2143..24023e9 100644 --- a/src/service/session.php +++ b/src/service/session.php | |||
| @@ -4,17 +4,21 @@ | |||
| 4 | // à voir si c'est mieux avec: | 4 | // à voir si c'est mieux avec: |
| 5 | //use Symfony\Component\HttpFoundation\Session\Session; | 5 | //use Symfony\Component\HttpFoundation\Session\Session; |
| 6 | 6 | ||
| 7 | // note: session_regenerate_id(true) se trouve dans UserController::connect | ||
| 7 | 8 | ||
| 8 | ini_set('session.cookie_samesite', 'Strict'); | 9 | use Doctrine\ORM\EntityManager; |
| 9 | ini_set('session.cookie_httponly', 'On'); | ||
| 10 | ini_set('session.use_strict_mode', 'On'); | ||
| 11 | ini_set('session.cookie_secure', 'On'); | ||
| 12 | session_start(); | ||
| 13 | validateSession($entityManager); | ||
| 14 | 10 | ||
| 15 | // note: session_regenerate_id(true) se trouve dans UserController::connect | 11 | function startSession(EntityManager $entityManager): void |
| 12 | { | ||
| 13 | ini_set('session.cookie_samesite', 'Strict'); | ||
| 14 | ini_set('session.cookie_httponly', 'On'); | ||
| 15 | ini_set('session.use_strict_mode', 'On'); | ||
| 16 | ini_set('session.cookie_secure', 'On'); | ||
| 17 | session_start(); | ||
| 18 | validateSession($entityManager); | ||
| 19 | } | ||
| 16 | 20 | ||
| 17 | function validateSession($entityManager): void | 21 | function validateSession(EntityManager $entityManager): void |
| 18 | { | 22 | { |
| 19 | if(defined('IS_ADMIN')){ | 23 | if(defined('IS_ADMIN')){ |
| 20 | return; | 24 | return; |
