web-dev-qa-db-fra.com

Joomla 3.6.5 & 3.7.0 Comportement de session d'utilisateur étrange

Juste aujourd'hui, un problème est survenu avec une installation de Joomla 3.6.5 que j'ai.

Un utilisateur voyait les détails des autres utilisateurs connectés. Quelque chose s'est mal passé dans la table de session (je suppose, car j'ai vérifié et qu'il y avait plus d'enregistrements que prévu) et tout à coup, cet utilisateur a pu voir et éditer d'autres données utilisateur, mais uniquement dans des pages spécifiques)..

Il semblait que cela allait et venait entre la session de cet utilisateur et celle d'un autre utilisateur.

Ensuite, j'ai mis à jour Joomla 3.7.0 et un autre problème est survenu: certains éléments de menu sont des "URL externes" que j'utilise comme séparateurs de texte, en raison de certains problèmes que j'ai rencontrés avec les iPad. Leur URL externe est juste un hachage (#), qui sert de séparateur de texte, pointant ainsi vers ma page d'accueil.
Lorsque quelqu'un clique sur ce lien, il est ramené à la page d'accueil et la page a l'air d'avoir été déconnecté, et l'invite à se connecter est de retour. Si vous cliquez dessus, rien ne se passe et vous devez utiliser un élément de menu pour revenir au site, où vous découvrez que vous êtes toujours connecté.

Les informations utilisateur conservées sur ce site sont très sensibles et, tout à coup, mes utilisateurs voient les données de chacun!
Toute aide est désespérément appréciée.

1
mavrosxristoforos

Quelque chose cache des données pour des utilisateurs authentifiés alors que ce ne devrait pas être le cas. Généralement, dans les extensions Joomla principales, elles ne serviront que les données en cache aux utilisateurs invités.

2
Michael

Après de nombreuses recherches, mon hôte a indiqué qu'il utilisait Varnish, un système de cache incompatible avec Joomla par défaut. Ils ne semblaient pas vouloir modifier ses paramètres, mais ils m'ont dit d'ajouter ce qui suit à mon .htaccess fichier.

Header add "disablevcache" "true"

Après cela, le problème a été résolu dans les 24 à 36 heures.

1