NemStudio18 Bonjour et merci pour ton aide.
Ne t'inquiètes pas, tu n'as pas à te justifier, nous avons tous une vie en dehors de tout cela. ;-)

je vais faire le test ce soir en rentrant et modifier la ligne 53 du fichier PageController.php :
if ($_POST['_password'] == '' && $_SERVER['HTTP_REFERER'] === $url)

par :
if (isset($_POST['password'])
&& $_SERVER['HTTP_REFERER'] === $url
) {

Dommage qu'on ne puisse pas avoir accès aux fichiers du CMS via le gestionnaire de fichiers, j'aurai pu faire la modification en live ... ;-)

En tout cas, encore merci et je vous tien au courant.

Bonne journée,
Gérard

Hum, l'idée de laisser possible la modification directement en ligne des sources ça me parrait risqué.

Après il y a sûrement une app pour ça qui existe. Sinon ce serait un plugin a intégrer mais je pense pas qu'il fera partie des plugins officiels.

J'ai pas eu le temps de travailler dessus encore mais on a émis l'idée déjà de pouvoir faire ça avec le CSS.

    NemStudio18 Apres modification et test, cela ne fonctionne pas.
    Je met bien le mot de passe dans une nouvelle page, je rafraîchie le tout, je vais sur le site, je met le mot de passe mais la page reste toujours reteinte ...
    Juste pour info : je suis sur la version 299Ko qui est dans Yunohost. Je ne pense pas que cela y change grand chose, mais on ne sais jamais ... ;-)

    NemStudio18 j'ai un vague souvenir, que j'en avais déjà parlé avec le créateur de 99ko, qui avait fait un truc de test ou peut-être était-ce pour un autre CMS ...
    En tout cas, je me souviens qu'il fallait rentrer le mot de passe admin pour avoir accès à l’arborescence complète du CMS quand tu était déjà dans l'administration, pour éviter de faire des bêtises sans le faire exprès.

      gn1234567

      J'ai pas poussé mes tests plus que ça a vrai dire. Perso la page était bloquée car effectivement le mot de passe n'était pas vérifié, une fois ma modification effectuée je n'ai plus eu le soucis mais j'ai pas vraiment cherché plus loin.

      Je vais regarder plus en détails quand j'aurai couché les petits.

      Edit:
      je ne sais pas trop , je regarderai plus tard mais enlève la partie http referer et ça marchera:
      partie a enlever:
      && $_SERVER['HTTP_REFERER'] === $url

      toujours a la ligne 53 !

        NemStudio18 En effet, je viens de tester et ça fonctionne.
        par contre quand tu changes de page et que tu reviens sur la même page, le code n'est plus demandé et la page reste en claire.
        C'est juste pour info, je te laisse tranquille pour trouver le problème.

        Merci pour ton aide et passe une bonne soirée.
        Gérard N.

          gn1234567

          Oui j'ai remarqué aussi, je ne connais pas de fond en comble 299ko, le MDP est dpeut être en session ou en cache.

          Je vais jeter un oeil a la gestion plus en profondeur et j'essaierai de te corriger ça demain.

          Pour tester j'ai pas fais , vides le cache du navigateur et actualises voir si ça te redemande le MDP.

            NemStudio18 après vérification, j'ai juste supprimé les "cookies et autres données des sites" pour que la page restreinte, réapparaisse.

              gn1234567

              Ça doit être le comportement attendu alors donc pour moi c'est bon faut juste que je fasse la modification sur le repo.

                NemStudio18 Il n'y a pas un moyen qu'au bout d'un certain temps, la page redemande le mot de passe sans être obligé de supprimer les cookies à chaque fois ?
                Au moins pour que la page soit plus sécurisée, au cas où ...
                Autrement, tu peux aussi changer le mot de passe de la page après chaque lecture mais cela devient contraignant.

                  gn1234567

                  dans plugin/page/page.php:
                  original (ligne 254):
                  elseif (isset($_SESSION['pagePassword']) && sha1($obj->getId()) . $obj->getPassword() . sha1($_SERVER['REMOTE_ADDR']) == $_SESSION['pagePassword'])
                  return true;
                  else
                  return false;

                  remplace par:
                  elseif (isset($_SESSION['pagePassword']) && isset($_SESSION['pagePasswordTime'])) {
                  // Vérifie si la session n'a pas expiré (30 minutes)
                  if (time() - $_SESSION['pagePasswordTime'] > 1800) {
                  unset($_SESSION['pagePassword']);
                  unset($_SESSION['pagePasswordTime']);
                  return false;
                  }
                  if (sha1($obj->getId()) . $obj->getPassword() . sha1($_SERVER['REMOTE_ADDR']) == $_SESSION['pagePassword'])
                  return true;
                  }
                  return false;

                  dans la fonction unlock
                  après la ligne 269 qui est:
                  $_SESSION['pagePassword'] = sha1($obj->getId()) . $obj->getPassword() . sha1($_SERVER['REMOTE_ADDR']);)

                  ajoutes:
                  $_SESSION['pagePasswordTime'] = time();

                  j'ai testé avec 10 secondes de délais pour voir, ça a l'air de fonctionner.

                    NemStudio18 Je test en rentrant ce soir et je te dis ca.
                    Ce qui va être bien avec cette modification, c'est qu'on va pouvoir changer la durée comme bon nous semble et ça c'est cool.

                    NemStudio18 if (time() - $_SESSION['pagePasswordTime'] > 1800) {

                    1800 secondes = 30 minutes

                      gn1234567 oui j'ai mis 30min par défaut mais tu peux changer. Je verrais si je peux ajouter le paramètre directement depuis l'admin

                        NemStudio18 en effet, ca pourrait être sympa, bonne idée.

                        Haaaaaaa, si j'avais eu accès au fichier du CMS, j'aurai pu faire les changements en live 😉
                        (mais non, il n'y a pas de message subliminal pour avoir les accès aux fichiers via le CMS ... 😎)

                          gn1234567

                          Promis je le note mais je ne suis pas le dev principal de 299ko donc ce ne sont pas mes décisions 😉

                          Si jamais je me met a faire un plugin de ce type ce sera un plugin officieux...

                          Je dois terminer absolument le plugin de wiki , et en parallèle je travail sur un ou deux thèmes dont celui de mon site pro ainsi qu'un ou deux plugins spécifiques pour mon utilisation (dont l'intégration d'un moyen de paiement stripe/PayPal).

                            NemStudio18 J'ai fait les modifications, c'est nickel.
                            J'ai testé 20 secondes, 1 minutes et 7 minutes, ça fonctionne à vermeille ... 😉
                            (Je trouve que c'est mieux que merveille ... 😉 )
                            Merciiiiiii ... 😉 😘

                            NemStudio18 A oui, ça promet que du bon tout ça ...
                            Ne t'inquiètes pas, pour le moment c'était surtout ce problème de mot de passe qui m’embêtait un peu, mais maintenant que c'est résolu, c'est super.

                            Je te remercie beaucoup pour ta réactivité et le temps que tu as passé pour résoudre ce problème.
                            Reste plus qu'a attendre la vrai mise à jour officielle sur Github et YunoHost.

                            Bonne soirée et à bientôt pour de nouvelles demandes ... 😉
                            Gérard N.

                              gn1234567

                              Pas de problème 😉 il faut être réactif si on veut que la communauté se fédère autour du projet et commencer a avoir un peut de visibilité.

                              la prochaine maj va introduire pas mal de modifications pas forcément visible au premier coup d'oeil mais qui faciliterons la vie de tout le monde, utilisateurs, contributeurs ... j'en dis pas plus faut que je re check mon @Max sur discord et qu'on termine quelques truc !

                              content que ça fonctionne pour toi 😉
                              (je sais pas si faisable mais tu peux passer le sujet en résolu ou éditer le titre pour le marqué comme résolu )

                              bonne soirée a toi !

                              (Edit : il n'y a pas d'étiquette Résolu donc Edition du titre si c'est faisable)

                                NemStudio18
                                Ça sent bon les mises à jour 😉

                                J'ai essayé d'éditer le titre, mais apparemment c'est impossible et en effet, il n'y a pas d'étiquette "Résolu", c'est dommage ...

                                • Max replied to this.

                                  NemStudio18 @gn1234567

                                  Hello !
                                  Désolé de la latence. Vous profitez à chaque fois de mon absence pour poster plein de messages ^^

                                  C'est une bonne idée de pouvoir modifier le temps. En l'occurrence, ça reste par défaut le temps de la session. Quand l'utilisateur ferme son navigateur, à la réouverture ça demandera à nouveau le mot de passe. Vous pensez qu'il en faut plus ?

                                  J'essaye de corriger ça sur Github dès que possible (le fix), merci à vous 2

                                    Bonjour Max,
                                    Oui l'idée de pouvoir choisir le temps est très bonne, car chacun ne vois pas la sécurité de la même façon...
                                    Pour des page fixe, tu peux mettre la sécurité à 2 minutes par exemple, tant que la page n'est pas rafraîchie, elle reste à l'écran, donc pas trop gênant.
                                    Tout dépendra de la personne et de ce qu'il veut faire avec son site et ses pages.
                                    Donc oui, pouvoir changer le temps c'est top.
                                    ( C'est bon, je l'ai bien vendu ? 😉 )

                                    Max C'est fait. L'auteur du sujet peut choisir "La meilleure réponse" 😉

                                    Je vais regarder çà de suite et je fais la modif., merci à toi.

                                    Edit :
                                    Zut j'ai changé la meilleur réponse ...
                                    De toute facon, la meilleur réponse est le post complet ... 😉

                                    • Max replied to this.