Bonjour, Dernière version de Galette 1 2.1 L'application affiche des erreurs aléatoires, liées à la gestion du courrier. Pour l'envoi des courriels j'utilise la fonction PHP mail, proposée par défaut. Galette est hébergée chez Ouvaton. Elle fonctionnait correctement depuis l'hébergement précédent (Université Paris Saclay). Par ailleurs, les infos de l'instance "ABON" affichée dans les "Références" est fausse et je ne peux pas la modifier. Il est surement possible de la supprimer ;) L'erreur affichée : Type : RuntimeException Code : 0 Message : Échec de la vérification CSRF ! Fichier : /var/www/vhosts/ galette.abon91.org/httpdocs/includes/dependencies.php Ligne : 449 Trace #0 /var/www/vhosts/ galette.abon91.org/httpdocs/vendor/slim/csrf/src/Guard.php(503): {closure:{closure:/var/www/vhosts/ galette.abon91.org/httpdocs/includes/dependencies.php:420}:434}() #1 /var/www/vhosts/ galette.abon91.org/httpdocs/vendor/slim/csrf/src/Guard.php(464): Slim\Csrf\Guard->handleFailure() #2 /var/www/vhosts/ galette.abon91.org/httpdocs/vendor/slim/slim/Slim/MiddlewareDispatcher.php(129): Slim\Csrf\Guard->process() #3 /var/www/vhosts/ galette.abon91.org/httpdocs/lib/Galette/Middleware/Language.php(68): Psr\Http\Server\RequestHandlerInterface@anonymous->handle() #4 /var/www/vhosts/ galette.abon91.org/httpdocs/vendor/slim/slim/Slim/MiddlewareDispatcher.php(178): Galette\Middleware\Language->__invoke() #5 /var/www/vhosts/ galette.abon91.org/httpdocs/lib/Galette/Middleware/Telemetry.php(69): Psr\Http\Server\RequestHandlerInterface@anonymous->handle() #6 /var/www/vhosts/ galette.abon91.org/httpdocs/vendor/slim/slim/Slim/MiddlewareDispatcher.php(178): Galette\Middleware\Telemetry->__invoke() #7 /var/www/vhosts/galette.abon91.org/httpdocs/includes/main.inc.php(176): Psr\Http\Server\RequestHandlerInterface@anonymous->handle() #8 /var/www/vhosts/ galette.abon91.org/httpdocs/vendor/slim/slim/Slim/MiddlewareDispatcher.php(283): Closure->{closure:/var/www/vhosts/ galette.abon91.org/httpdocs/includes/main.inc.php:159}() #9 /var/www/vhosts/ galette.abon91.org/httpdocs/vendor/slim/slim/Slim/Middleware/RoutingMiddleware.php(45): Psr\Http\Server\RequestHandlerInterface@anonymous->handle() #10 /var/www/vhosts/ galette.abon91.org/httpdocs/vendor/slim/slim/Slim/MiddlewareDispatcher.php(129): Slim\Middleware\RoutingMiddleware->process() #11 /var/www/vhosts/ galette.abon91.org/httpdocs/vendor/slim/slim/Slim/Middleware/ErrorMiddleware.php(77): Psr\Http\Server\RequestHandlerInterface@anonymous->handle() #12 /var/www/vhosts/ galette.abon91.org/httpdocs/vendor/slim/slim/Slim/MiddlewareDispatcher.php(129): Slim\Middleware\ErrorMiddleware->process() #13 /var/www/vhosts/ galette.abon91.org/httpdocs/vendor/slim/twig-view/src/TwigMiddleware.php(117): Psr\Http\Server\RequestHandlerInterface@anonymous->handle() #14 /var/www/vhosts/ galette.abon91.org/httpdocs/vendor/slim/slim/Slim/MiddlewareDispatcher.php(129): Slim\Views\TwigMiddleware->process() #15 /var/www/vhosts/ galette.abon91.org/httpdocs/vendor/slim/slim/Slim/MiddlewareDispatcher.php(73): Psr\Http\Server\RequestHandlerInterface@anonymous->handle() #16 /var/www/vhosts/ galette.abon91.org/httpdocs/vendor/slim/slim/Slim/App.php(209): Slim\MiddlewareDispatcher->handle() #17 /var/www/vhosts/ galette.abon91.org/httpdocs/vendor/slim/slim/Slim/App.php(193): Slim\App->handle() #18 /var/www/vhosts/galette.abon91.org/httpdocs/includes/main.inc.php(209): Slim\App->run() #19 /var/www/vhosts/galette.abon91.org/httpdocs/webroot/index.php(50): require_once('...') #20 {main} L'assistance de l'hébergeur Ouvaton commente mon ticket de la façon suivante : "Visiblement Galette retourne parfois ce genre d'erreur chez différents hébergeurs." Help ! Cordialement, Deuxnielle
Le Tue, 17 Feb 2026 17:08:58 +0100 deuxnielle a écrit :
Bonjour,
Bonjour !
Dernière version de Galette 1 2.1 L'application affiche des erreurs aléatoires, liées à la gestion du courrier.
L'erreur que tu cites n'est pas une erreur aléatoire, et n'est pas directement liée à la gestion du courrier. C'est exactement la même erreur que tu signalais dans ton précédent message. Comme j'avais répondu, elle est liée à la vérification permettant de prévenir les attaques CSRF. Elle se produit quand ta session utilisateur PHP a expiré. Je précise ma réponse : Les informations nécessaires à la vérification CSRF étant enregistrées dans la session utilisateur PHP le temps de la durée de vie de cette session, lorsque la session a expiré et que ses données ont été effacées du serveur, la vérification échoue :/ Dans la situation d'un envoi, concrètement ça se produit parce qu'entre le moment où tu as ouvert le formulaire de création d'un nouvel envoi, et le moment où tu as soumis le formulaire, il s'est passé plus de temps que la durée de vie de ta session PHP et que les données de celle-ci ont été effacées du serveur.
Pour l'envoi des courriels j'utilise la fonction PHP mail, proposée par défaut. Galette est hébergée chez Ouvaton. Elle fonctionnait correctement depuis l'hébergement précédent (Université Paris Saclay).
Même si il est préférable d'utiliser un SMTP plutôt que la fonction PHP mail sur les hébergements mutualisés, ici cette fonction n'est pas en cause puisque, la vérification CSRF ayant échoué, l'envoi n'a tout simplement pas été effectué.
Par ailleurs, les infos de l'instance "ABON" affichée dans les "Références" est fausse et je ne peux pas la modifier. Il est surement possible de la supprimer ;) [...]
La mise à jour de ces infos peut normalement se faire depuis les préférences de Galette en cliquant sur le bouton "Mettre à jour vos informations" dans l'onglet "Général". -- Guillaume
Bonsoir, J’avais survolé ta première réponse… Un point important : mes compétences sont bien faibles, si je les compare au niveau de certains échanges sur cette liste. J’en apprécie d’autant plus les efforts que tu fais ! Pour autant, je voudrais remédier au problème. Parallèlement, je suis en contact avec l’assistance Ouvaton à qui je vais soumettre la piste que tu as identifiée. Alors, comment faire pour que la session php n’expire pas et/ou qui aura la main sur la durée de cette session ? L’hébergeur ou moi ? Cordialement, Denis Le mer. 18 févr. 2026 à 15:10, Guillaume AGNIERAY <dev@agnieray.net> a écrit :
Le Tue, 17 Feb 2026 17:08:58 +0100 deuxnielle a écrit :
Bonjour,
Bonjour !
Dernière version de Galette 1 2.1 L'application affiche des erreurs aléatoires, liées à la gestion du courrier.
L'erreur que tu cites n'est pas une erreur aléatoire, et n'est pas directement liée à la gestion du courrier.
C'est exactement la même erreur que tu signalais dans ton précédent message.
Comme j'avais répondu, elle est liée à la vérification permettant de prévenir les attaques CSRF.
Elle se produit quand ta session utilisateur PHP a expiré.
Je précise ma réponse :
Les informations nécessaires à la vérification CSRF étant enregistrées dans la session utilisateur PHP le temps de la durée de vie de cette session, lorsque la session a expiré et que ses données ont été effacées du serveur, la vérification échoue :/
Dans la situation d'un envoi, concrètement ça se produit parce qu'entre le moment où tu as ouvert le formulaire de création d'un nouvel envoi, et le moment où tu as soumis le formulaire, il s'est passé plus de temps que la durée de vie de ta session PHP et que les données de celle-ci ont été effacées du serveur.
Pour l'envoi des courriels j'utilise la fonction PHP mail, proposée par défaut. Galette est hébergée chez Ouvaton. Elle fonctionnait correctement depuis l'hébergement précédent (Université Paris Saclay).
Même si il est préférable d'utiliser un SMTP plutôt que la fonction PHP mail sur les hébergements mutualisés, ici cette fonction n'est pas en cause puisque, la vérification CSRF ayant échoué, l'envoi n'a tout simplement pas été effectué.
Par ailleurs, les infos de l'instance "ABON" affichée dans les "Références" est fausse et je ne peux pas la modifier. Il est surement possible de la supprimer ;) [...]
La mise à jour de ces infos peut normalement se faire depuis les préférences de Galette en cliquant sur le bouton "Mettre à jour vos informations" dans l'onglet "Général".
--
Guillaume _______________________________________________ Galette-users mailing list -- galette-users@mailman3.com To unsubscribe send an email to galette-users-leave@mailman3.com
Le Wed, 18 Feb 2026 21:23:04 +0100 deuxnielle a écrit :
[...] je voudrais remédier au problème. Parallèlement, je suis en contact avec l’assistance Ouvaton à qui je vais soumettre la piste que tu as identifiée. Alors, comment faire pour que la session php n’expire pas et/ou qui aura la main sur la durée de cette session ? L’hébergeur ou moi ?
C'est l'hébergeur qui a la main sur la durée des sessions php et le rythme de nettoyage des données des sessions expirées. Sur un hébergement mutualisé, il n'y a aucune chance qu'il change sa config juste pour toi :/ Quant à une solution côté Galette, ce serait il me semble une tâche longue et complexe qui nécessiterait soit de revoir l'implémentation de la persistance des "tokens" utilisés dans la vérification CSRF, soit d'implémenter des sessions "longues" et donc de stocker les sessions dans la base de données. Par défaut, une session PHP dure 24 minutes. Il serait intéressant de savoir si ton hébergeur a réduit cette durée dans sa config PHP. Si tu sais que tu va y passer plus de temps que la durée des sessions php de ton environnement, enregistre régulièrement ton message. Chaque enregistrement créera cependant un nouveau modèle de message "non envoyé" dans l'historique des envois. Il te faudra dans ce cas éventuellement supprimer ces enregistrements "non envoyés" a posteriori si tu veux garder un historique "propre". Ou bien ne rédige pas ton message directement dans Galette. Rédige le à part dans un éditeur de texte (pas dans un traitement de texte), et contente toi ensuite de le copier coller dans l'éditeur de Galette pour n'avoir plus qu'à le mettre en forme "rapidement" avant de l'envoyer. -- Guillaume
Salut, Le 19/02/2026 à 14:09, Guillaume AGNIERAY a écrit :
[...] Quant à une solution côté Galette, ce serait il me semble une tâche longue et complexe qui nécessiterait soit de revoir l'implémentation de la persistance des "tokens" utilisés dans la vérification CSRF, soit d'implémenter des sessions "longues" et donc de stocker les sessions dans la base de données.
Stocker les sessions en base est une horreur en termes de performances, et Galette utilise les sessions bien avant qu'une connexion à la base soit établie. Ce serait clairement irréalisable. Une amélioration possible serait de renvoyer une erreur du type "Votre session a expiré", l'erreur CSRF survient un peu par défaut - même si ce n'est pas tout à fait incorrect dans le contexte. Autre chose à noter aussi : Firefox pose généralement moins de problèmes de ce côté.
[...] Ou bien ne rédige pas ton message directement dans Galette.
Cela me semble en effet la meilleure solution. ++ -- Johan
Bonjour, Je viens de corriger une bonne grosse boulette😅 Dans préférences et courriels, pour configurer le SMTP, il faut que ça soit cohérent avec le courriel expéditeur, et la ça marche tout de suite beaucoup mieux Shame on me…et désolé pour le bruit inutile Deuxnielle Le jeu. 19 févr. 2026 à 15:21, Johan Cwiklinski <johan@x-tnd.be> a écrit :
Salut,
Le 19/02/2026 à 14:09, Guillaume AGNIERAY a écrit :
[...] Quant à une solution côté Galette, ce serait il me semble une tâche longue et complexe qui nécessiterait soit de revoir l'implémentation de la persistance des "tokens" utilisés dans la vérification CSRF, soit d'implémenter des sessions "longues" et donc de stocker les sessions dans la base de données.
Stocker les sessions en base est une horreur en termes de performances, et Galette utilise les sessions bien avant qu'une connexion à la base soit établie. Ce serait clairement irréalisable.
Une amélioration possible serait de renvoyer une erreur du type "Votre session a expiré", l'erreur CSRF survient un peu par défaut - même si ce n'est pas tout à fait incorrect dans le contexte. Autre chose à noter aussi : Firefox pose généralement moins de problèmes de ce côté.
[...] Ou bien ne rédige pas ton message directement dans Galette.
Cela me semble en effet la meilleure solution.
++ -- Johan
_______________________________________________ Galette-users mailing list -- galette-users@mailman3.com To unsubscribe send an email to galette-users-leave@mailman3.com
participants (3)
-
deuxnielle -
Guillaume AGNIERAY -
Johan Cwiklinski