Pas de purge automatique des sessions en base de données [Joomla! 3.9.27]

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Pas de purge automatique des sessions en base de données [Joomla! 3.9.27]

    Bonjour à toutes et tous,

    Comme indiqué dans le titre, j'ai un souci de purge des sessions sur un site Joomla! version 3.9.27.

    Il s'agit grosso-modo d'un problème identique à celui déjà évoqué ici :
    https://forum.joomla.fr/forum/joomla...pr%C3%A8s-15mn
    avec un détail près : le plugin "Système - Purge des données de session"est absent des plugins disponibles sur le site (je suis bien connecté en Super Administrateur).

    Pour l'instant, le site a été récemment mis en production donc l'espace occupé dans la table reste correcte, mais j'aimerais résoudre ce problème rapidement d'autant plus que l'admin du site se pose des questions lorsqu'il constate que certains utilisateurs sont connectés plusieurs fois et certains depuis plusieurs jours...

    J'ajoute que le problème se produit aussi bien sur mon environnement de dev WAMP en local que sur le serveur Linux en production.
    Dans les 2 cas le site tourne en PHP 7.4, je ne sais pas si cela va vous être utile mis le paramètre session.gc_probability est bien à 1 dans mon PHP.ini

    J'utilise la méthode "Base de données" pour la gestion des sessions.

    J'ai donc 2 questions :
    - est-il nécessaire d'avoir une configuration particulière pour pouvoir utilisé le plugin "Système - Purge des données de session" ? si oui laquelle ?
    - dans le cas où je ne peux pas utiliser le plugin, je passerai pas un script exécuté via une tâche planifiée, dans cette optique je voulais savoir si un simple DELETE sur la table SESSION est suffisant ou est-cil qu'il faut agir sur d'autres tables associées ?

    En vous remerciant par avance pour vos lumières,

    Mickaël
    Dernière édition par Soundboy39 à 13/07/2021, 11h33 Raison: ajout info

  • #2
    Bonjour,

    Si tu ne vois pas ce plugin, c'est qu'il n'a pas été enregistré dans la base. Commence par voir dans la gestion des extensions s'il n'y a pas des choses à "découvrir" puis installer, et profites-en pour vérifier si la base de données est bien à jour.
    easyconnect83 aime ceci.
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr et sites perso chez PlanetHoster + sites gérés chez PHPNET, 1and1 et OVH

    Commentaire


    • #3
      Envoyé par RobertG Voir le message
      Bonjour,

      Si tu ne vois pas ce plugin, c'est qu'il n'a pas été enregistré dans la base. Commence par voir dans la gestion des extensions s'il n'y a pas des choses à "découvrir" puis installer, et profites-en pour vérifier si la base de données est bien à jour.
      RobertG a raison il y a du avoir un problème à l'installation de ton projet Joomla pour que ce plugin système natif soit absent ...

      Donc vérifier dans le back-office dans le menu Extensions / Gestion / Système - Purge des données de session si le plugin est présent et publié.
      Le plugin Système - Purge des données de session est utilisé dans les deux cas de figure menu Système / Configuration / Onglet Système
      Configuration des sessions
      Méthode (Base de données ou PHP)

      Vérifier également la base de données Joomla via le menu Extensions / Base de données et le bouton Correction en haut à gauche.

      Pour éviter que la table des sessions soit de grande taille tu peux utiliser la très célèbre extension AdminTools d'Akeeba qui permet dans sa configuration d'automatiser des tâches comme : purger la table des sessions, purger les dossiers temporaires, ... Extension quasi indispensable pour permettre de protéger au mieux Joomla.

      Bonne continuation.

      Commentaire


      • #4
        Merci pour vos retours,

        C'est quand même bizarre... j'ai regardé sur une site Joomla plus ancien qui est en 3.6... le plugin n'y est pas non plus.

        Bref... Voilà ce que j'ai fais :

        - vérification de la base de données : effectivement elle n'était pas à jour, j'ai donc procéder à une mise à jour via le bouton "Correction", la base est désormais à jour;
        - dans le doute, mise à jour de Joomla! en dernière version (3.9.28);

        Malgré ces actions, le plugin n'est toujours pas disponible dans le backoffice, ni directement dans la partie "Plugins", ni dans la partie "Extensions: Gestion".

        Côté sources, j'ai bien un dossier "\plugins\system\sessiongc" qui contient les sources du plugins "plg_system_sessiongc", je suppose qu'il s'agit du plugin en question, par contre il ne se trouve pas dans la table "extensions".

        Est-ce qu'il existe un moyen de "forcer" sa détection et son ajout en base de données ?

        Commentaire


        • #5
          C'est bon j'ai réussi à installer le plugin en mode "découverte", honnêtement j'avais jamais entendu parler de cette fonctionnalité... merci pour le tuyau RobertG !

          Pour tester, j'ai régler le plugin avec une probabilité de 1/1 pour que la purge soit effectuée à chaque requête, je constate que la table est bien purgée et qu'il n'y a plus d'utilisateur au statut "connecté".

          Est-ce que vous me conseiller une probabilité "optimale" à utiliser en production ?

          Commentaire


          • #6
            Envoyé par Soundboy39 Voir le message
            C'est bon j'ai réussi à installer le plugin en mode "découverte", honnêtement j'avais jamais entendu parler de cette fonctionnalité... merci pour le tuyau RobertG !

            Pour tester, j'ai régler le plugin avec une probabilité de 1/1 pour que la purge soit effectuée à chaque requête, je constate que la table est bien purgée et qu'il n'y a plus d'utilisateur au statut "connecté".

            Est-ce que vous me conseiller une probabilité "optimale" à utiliser en production ?
            La question est intéressante mais cela dépend du projet, du nombre d'utilisateurs, de la fréquence de connexion, ...

            Pour mes sites, en règle générale je purge les sessions toutes les heures.
            Après en terme de sécurité il est bien aussi dans la Configuration des sessions (menu Système / Configuration / Onglet Système) de ne pas avoir une durée de session trop importante. Ne pas dépasser 30 mn par exemple.

            PS : j'ai oublié de vous fournir le lien vers les automatisations possibles avec l'extension AdminTools
            https://www.akeeba.com/documentation...ase-tools.html

            Commentaire


            • #7
              cela dépend du projet, du nombre d'utilisateurs, de la fréquence de connexion, ...
              Oui je suis d'accord.

              Je vais régler de manière à ce que la purge soit effectuée 10 fois pour 100 requêtes, je pense que cela devrait suffire... si ce n'est pas le cas et que je n'arrive pas à trouver le réglage adéquat je passerais par Admin Tools.

              Merci pour votre aide.
              easyconnect83 aime ceci.

              Commentaire


              • #8
                Avec plaisir et bonne continuation

                Commentaire

                Annonce

                Réduire
                1 sur 2 < >

                C'est [Réglé] et on n'en parle plus ?

                A quoi ça sert ?
                La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                Comment ajouter la mention [Réglé] à votre discussion ?
                1 - Aller sur votre discussion et éditer votre premier message :


                2 - Cliquer sur la liste déroulante Préfixe.

                3 - Choisir le préfixe [Réglé].


                4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                2 sur 2 < >

                Assistance au forum - Outil de publication d'infos de votre site

                Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                UTILISER À VOS PROPRES RISQUES :
                L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                Problèmes connus :
                FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                Installation :

                1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                Archive zip : https://github.com/AFUJ/FPA/zipball/master

                2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                et remplacer www. votresite .com par votre nom de domaine


                Exemples:
                Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                Télécharger le script fpa-fr.php dans: /public_html/
                Pour executer le script: http://www..com/fpa-fr.php

                Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                Télécharger le script fpa-fr.php dans: /public_html/cms/
                Pour executer le script: http://www..com/cms/fpa-fr.php

                En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                Voir plus
                Voir moins

                Partenaire de l'association

                Réduire

                Hébergeur Web PlanetHoster
                Travaille ...
                X