MTES-MCT / stop-punaises

Mise en relation des usagers signalant des problèmes d'infestations de punaises avec des entreprises labellisées.
https://stop-punaises.beta.gouv.fr
MIT License
4 stars 0 forks source link

[Accessibilité - Audit] [Toutes les pages - 13.1] Augmenter la limite de temps avant la fin de la session d'au moins 20 heures #692

Closed sfinx13 closed 7 months ago

sfinx13 commented 7 months ago

Ticket

639

Description

Augmentation de la durée de session par défaut (celle du PHP)

N'est pas défini dans le buildpack PHP de scalingo https://github.com/Scalingo/php-buildpack/blob/master/conf/php/php.ini elle prend donc la valeur par défaut de PHP (1440s = 24 minutes)

[session.cookie_lifetime](https://www.php.net/manual/fr/session.configuration.php#ini.session.cookie-lifetime:~:text=session.cookie_lifetime%20int,et%20session_set_cookie_params().) (0 par défaut)

Spécifie la durée de vie du cookie en secondes. La valeur de 0 signifie : "Jusqu'à ce que le navigateur soit éteint". La valeur par défaut est 0. Voir aussi session_get_cookie_params() et session_set_cookie_params().

session.gc_maxlifetime (24 minutes par défaut)

Spécifie la durée de vie des données sur le serveur, en nombre de secondes. Après cette durée, les données seront considérées comme obsolètes, et peuvent potentiellement être supprimées. Les données peuvent devenir obsolètes lors du démarrage de la session (suivant session.gc_probability et session.gc_divisor). La valeur par défaut est 1440 (24 minutes).

[!NOTE]
C'est donc la durée de session des 24 minutes qui prévaut : (Voir colonne Expires / Max-Age => Session)

image

Changements apportés

Pré-requis

Pour éviter des comportements inattendus, gc_maxlifetime doit être égal ou supérieur à cookie_lifetime pour assurer une cohérence entre la durée de vie côté serveur et côté client des sessions.

SESSION_MAXLIFETIME=151200 # 151200 secondes = 42 heures

Tests

image

Mettre à jour la variable d'environnement à 10 secondes

Mettre à jour la variable d'environnement à 42 heures

hmeneuvrier commented 7 months ago

@sfinx13 Les 2 premiers tests sont ok, par contre le 3è je ne comprends pas. J'ai changé la variable d'environnement. Je me connecte sans cocher la case "se souvenir de moi". Le cookie a la bonne date d'expiration (42 heures plus tard). Je ne fais plus rien pendant un certain temps (enfin je passe sur Histologe), et quand je reviens sur StopPunaises et que je clique sur le menu, je me retrouve sur la page de login.

Je ne comprends pas ce que j'ai loupé dans le test

sfinx13 commented 7 months ago

@sfinx13 Les 2 premiers tests sont ok, par contre le 3è je ne comprends pas. J'ai changé la variable d'environnement. Je me connecte sans cocher la case "se souvenir de moi". Le cookie a la bonne date d'expiration (42 heures plus tard). Je ne fais plus rien pendant un certain temps (enfin je passe sur Histologe), et quand je reviens sur StopPunaises et que je clique sur le menu, je me retrouve sur la page de login.

Je ne comprends pas ce que j'ai loupé dans le test

@hmeneuvrier moi non plus tu devrais garder ta session je refais le test rdv dans une demi heure

EDIT Tu as raison ça marche pas la surcharge de session.gc_maxlifetime. L'option existe donc je comprend pas. J'ai surchargé coté code avant la création du Kernel et ça fonctionne du coup

hmeneuvrier commented 7 months ago

@sfinx13 ok ça fonctionne mmaintenant !