Le site des utilisateurs francophones de FluxBB.
Vous n'êtes pas identifié(e).
Bonjour,
Des utilisateurs de mon forum signalent parfois (rarement) que lorsqu'ils ouvrent le forum ils se retrouvent connectés sur un autre compte.
C'est très rare mais inquiétant
.
Je ne suis pas arrivé à reproduire le phénomène, je n'ai aucune idée de la cause.
J'ai fluxBB 1.5.9 et dokuwiki 2015-08-10a "Detritus" . L'authentification au wiki se fait via le forum.
Avez vous une idée d'où ça peut venir ? Comment résoudre le problème ? Quels tests faire pour cerner le problème ?
N'importe quelle aide sera bienvenue.
Hors ligne
Bonjour,
Le problème c'est dokuwiki. Il y a eu ce genre de problème ici par le passé. C'est Mpok qui avait trouvé.
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
Salut,
On a fait des modifications pour éviter ceci dans la toute dernière version (FluxBB 1.5.9).
Pourrais-tu confirmer que le bug se reproduit depuis la mise à jour, et sans dokuwiki?
Le plus important serait un log détaillé quand l'erreur arrive: IP, état de la table online, contenu des cookies, membres affectés. J'ai fait plusieurs tests pour essayer de résoudre ce problème mais je ne suis jamais parvenu à le reproduire. Sur mon forum, depuis plusieurs années, rien ne m'a été reporté en ce sens.
Reste la dernière piste de l'hébergement. J'ai vu que tu étais sur un mutualisé OVH, qui répartit la charge sur plusieurs serveurs. Peut-être le système a-t-il des ratés et envoie l'identification d'un autre utilisateur de temps à autre, même si cela ne devrait jamais arriver.
Hors ligne
Merci pour vos réponses.
Salut,
On a fait des modifications pour éviter ceci dans la toute dernière version (FluxBB 1.5.9).
Pourrais-tu confirmer que le bug se reproduit depuis la mise à jour, et sans dokuwiki?
Mise à jour vers fluxBB 1.5.9 effectuée le 19 novembre 2015. Problème signalé hier, 24 novembre.
Hélas je ne peux pas désactiver le login du wiki via le forum et attendre des mois pour être sûr que le problème vient de là.
Le plus important serait un log détaillé quand l'erreur arrive: IP, état de la table online, contenu des cookies, membres affectés. J'ai fait plusieurs tests pour essayer de résoudre ce problème mais je ne suis jamais parvenu à le reproduire. Sur mon forum, depuis plusieurs années, rien ne m'a été reporté en ce sens.
Ca a été signalé 3 ou 4 fois en un an, c'est peu comparé à la fréquentation (300.000 visiteurs par mois, 50.000 messages par an). Peut-être que sur un forum moins fréquenté il faudra attendre davantage de temps ?
Est-ce que ça pourrait être une session mal fermée par le wiki ou le forum, et la même adresse IP attribuée à un autre membre ?
Reste la dernière piste de l'hébergement. J'ai vu que tu étais sur un mutualisé OVH, qui répartit la charge sur plusieurs serveurs. Peut-être le système a-t-il des ratés et envoie l'identification d'un autre utilisateur de temps à autre, même si cela ne devrait jamais arriver.
Comment tester ?
Le problème c'est dokuwiki. Il y a eu ce genre de problème ici par le passé. C'est Mpok qui avait trouvé.
Comment a-t-il résolu le problème ?
Dernière modification par oli_v_ier (25-11-2015 19:49:07)
Hors ligne
On peut exclure DocuWiki des causes je crois : ça se produit aussi sur l'un de mes forums et je n'ai aucun Wiki installé, et surtout le bug est observé également sur Luna… Ça vient du code de FluxBB.
L'hébergement mutualisé est une piste, mon forum concerné est sur un mutualisé également, mais je ne sais pas si c'est le cas pour le forum Luna qui a fait remonter ce bug.
Hors ligne
Le cluster OVH me semble une piste très probable. Askelon, ton forum est-il aussi chez OVH en mutu ?
@olivier: mon forum a un peu moins de messages mais plus de membres (23.5K), un trafic assez important (5K de visiteurs uniques par mois il me semble) avec beaucoup d'utilisateurs connectés et absolument aucun report de ceci 
Après, j'ai passé les mots de passe en sha512+salt, peut-être cela a-t-il un rapport ?
Toutefois, exclure d'office le wiki me semble un peu présomptueux. S'il n'est pas du tout ou très peu utilisé, je te conseillerais de désactiver le bridge temporairement pour voir si le problème continue de se produire.
Dommage que tu n'aies pas accès aux logs d'ailleurs.
Dernière modification par adaur (26-11-2015 12:42:25)
Hors ligne
Dommage que tu n'aies pas accès aux logs d'ailleurs.
J'y ai accès
.
Qu'est-ce que je peux regarder, chercher moi même ou soumettre à votre analyse ?
Hors ligne
On peut exclure DocuWiki des causes je crois : ça se produit aussi sur l'un de mes forums et je n'ai aucun Wiki installé, et surtout le bug est observé également sur Luna…
Ca semble assez probant effectivement.
Hors ligne
Le cluster OVH me semble une piste très probable. Askelon, ton forum est-il aussi chez OVH en mutu ?
Oui. J'imagine que c'est le cas de la personne qui a rapporté ce bug sur Luna, mais je ne peux pas l'affirmer.
Hors ligne
Bonjour,
Je ne sais absolument pas si ça peut avoir un rapport, mais...
J'ai été quelque fois confronté (pas souvent) à des erreurs du style $_POST['index'] ou $_SERVER['index'] ou $_REQUEST['index'] n'existent pas ou ne sont pas déclarées alors qu'il n'y avait jamais d'erreur dans le script.
J'ai résolu ce problème en passant dans php.ini
auto_globals_jit = OffIl est dit pour cette directive :
; When enabled, the ENV, REQUEST and SERVER variables are created when they're
; first used (Just In Time) instead of when the script starts. If these
; variables are not used within a script, having this directive on will result
; in a performance gain. The PHP directive register_argc_argv must be disabled
; for this directive to have any affect.
; http://php.net/auto-globals-jit
Il y a quelques retour de bug sur php.net, surtout pour PHP 7.0.0 RC
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
Comment le cluster pourrait-il faire ça ? Il y a un seed (cookie_seed et cookie_name aléatoire) par forum installé sur leur mutu donc ce n'est pas une tambouille interbase, ça me semble compliqué.
Dans le pire des cas, un rollback supprimerait des utilisateurs récents mais sans décaler les id. A moins que vous supposiez que cela ne touche que les derniers inscrits, la fenêtre de tir est vachement courte, il faudrait que le script ne vérifie pas le cookie mais ça semble impossible. Et qu'en plus la redirection ne marche pas chez le client mais au premier clic logiquement il se retrouve déconnecté. Un rollback, ça ne passe pas inaperçu.
Deux utilisateurs sur une même machine me semble plus probable. Un gars qui prête son pc et qui ne sait pas que la personne utilise elle aussi le même forum.
PS : En parlant de rollback, j'ai répondu à un utilisateur ici qui semblait avoir un soucis de css mais le topic a disparu. C'est de la modération leste ou le topic est parti en sucette ?
:canon: Mangafan : Mettez un chat dans votre processeur ! 
Hors ligne
Bonjour,
C'est vrai que je supprime des messages et des utilisateurs avec tous leurs messages, mais il s'agit uniquement de SPAM, principalement pour des marques de chaussures.
Ne voudrais-tu pas parler de cette discussion ?
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
Deux utilisateurs sur une même machine me semble plus probable. Un gars qui prête son pc et qui ne sait pas que la personne utilise elle aussi le même forum.
Hautement improbable : dans mon cas les deux personnes sont à l'autre bout de la France, et dans le cas d'oli_v_ier on parle carrément de deux pays différents… Les chances que pour ces personnes utilisent le même forum, depuis la même machine, sans se connaître mutuellement IRL, me paraissent quand même assez minces 
Je ne vois vraiment pas ce qui peut déclencher ça. Je ne vois pas comment c'est techniquement possible à moins d'avoir un cookie identique, et même pour ça je ne vois pas comment c'est possible : il y a un timestamp inclut dans le hash ! Les probabilités d'obtenir des hashes identiques sont infiniment faibles…
Dernière modification par Askelon (28-11-2015 09:00:06)
Hors ligne
Bonjour,
C'est vrai que je supprime des messages et des utilisateurs avec tous leurs messages, mais il s'agit uniquement de SPAM, principalement pour des marques de chaussures.
Ne voudrais-tu pas parler de cette discussion ?
Si c'est ça, mais on a un autre problème alors, c'est en novembre que j'ai répondu dans la semaine qui est passée, pas au moins de juin.
Du coup comme il y a pas mal de spam ces derniers temps, je m'étais dit qu'il avait pris une balle perdue. 
@Askelon C'est sûr pour moi ça ne vient pas du cookie et je ne vois pas d'où ça pourrait venir sinon, il ne me semble pas que quelque part dans le code il y ai un bricolage assez mal foutu pour que ça puisse se produire.
Du coup deux gars sur une même machine ou un navigateur genre Chrome qui "cloud" n'importe quoi n'importe comment, ça me parait plus probable. C'est plus une anecdote qu'une vrai piste, il m'est arrivé un truc bizarre avec les notifications Chrome sur windows. Un trajet pour aller du centre-ville, où j'étais en déplacement, au "boulot" fait sur google map, je ne l'ai pas créé cet itinéraire et je n'ai pas prêté mon PC. En revanche, j'étais connecté sur le wifi ouvert d'une livebox, je ne piratai pas, c'était sur un spot de partage wifi et je soupçonne avoir reçu la notification d'un utilisateur sur la même connexion.
Pas très classe le cloud computing.
:canon: Mangafan : Mettez un chat dans votre processeur ! 
Hors ligne
Bonjour,
Du coup comme il y a pas mal de spam ces derniers temps, je m'étais dit qu'il avait pris une balle perdue. tongue
Possible. En ce moment les spammeurs s'inscrivent, attendent quelques jours, puis mettent plusieurs messages de pub (de merde) dans différents forums... et... je nettoie en supprimant l'utilisateur ET tous ses messages en une seule fois.
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
Mais à moins que je ne devienne fou, la discussion daté en juin a eu lieu en novembre. 
:canon: Mangafan : Mettez un chat dans votre processeur ! 
Hors ligne
Du coup deux gars sur une même machine ou un navigateur genre Chrome qui "cloud" n'importe quoi n'importe comment, ça me parait plus probable.
Même si une personne vit en Inde et l'autre en France ?
L'erreur de compte reportée le 24 novembre sur mon forum (fluxBB 1.5.9) c'est une personne vivant en Inde qui se retrouve connectée au compte d'une personne vivant en France.
Hors ligne
Non à moins qu'un élément commun se glisse entre eux et le serveur, comme un vpn ou un service de synchronisation de donnée défaillant.
Si c'est une erreur de code, il faut connaitre l'environnement sur lequel le forum tourne et avoir tous les logs au moment où l'erreur se produit. Je glisserai un lien de report sur ton forum si j'étais toi, du genre "Vous n'êtes pas Tartempion cliquez ici.", un truc qui relève le timestamp dans un champs caché via un formulaire où tu demandes, le nom de compte mal identifié et celui qui devrait être identifié. Ça te donnera au moins une zone de tir pour chercher le problème dans les logs.
D'ailleurs quand ça arrive, l'utilisateur garde sa mauvaise identification en naviguant ou il est déconnecté si il passe à une autre page du site ? Les id des utilisateurs sont très éloignés, ont-ils toujours le même écart ?
De part sa conception, ça me parait assez difficile d'avoir une identification faussée à moins d'un problème côté mysql ; Franchement, il faut y aller pour que le code réussisse à créer un cookie identique pour deux utilisateurs différents. Si ça vient du code, c'est qu'il doit se bananer sur une fonction et genre finir par sortir un utilisateur au rand() ou qu'un + ou -1 se glisse à cause d'un mauvais retour de fonction mais ça doit forcément laisser des traces dans les logs.
:canon: Mangafan : Mettez un chat dans votre processeur ! 
Hors ligne
Si c'est une erreur de code, il faut connaitre l'environnement sur lequel le forum tourne et avoir tous les logs au moment où l'erreur se produit. Je glisserai un lien de report sur ton forum si j'étais toi, du genre "Vous n'êtes pas Tartempion cliquez ici.", un truc qui relève le timestamp dans un champs caché via un formulaire où tu demandes, le nom de compte mal identifié et celui qui devrait être identifié. Ça te donnera au moins une zone de tir pour chercher le problème dans les logs.
Je dois pouvoir isoler sans trop de soucis les logs de l'incident du 24 novembre, un membre A s'est retrouvé connecté sur le compte d'un membre B. J'ai l'ID de la discussion où A a posté pour signaler le problème et via le forum j'ai son IP, donc ça réduit considérablement la zone de recherche dans les logs.
Ce serait intéressant que j'isole l'activité de A dans les logs ? Si vous dites oui, je dois pouvoir extraire les actions suivantes :
Il arrive sur le forum connecté sur B -> il se déconnecte -> il se connecte à son compte A -> il poste une discussion.
D'ailleurs quand ça arrive, l'utilisateur garde sa mauvaise identification en naviguant ou il est déconnecté si il passe à une autre page du site ? Les id des utilisateurs sont très éloignés, ont-ils toujours le même écart ?
Non certains ont pu naviguer sur plusieurs pages sans être déconnecté : ils ont posté plusieurs messages sur le compte d'emprunt pour signaler le problème.
Les différents cas :
9250 s'est retrouvé connecté au compte de 8431. Le premier vit en Inde, le second en France.
Quelqu'un qui n'a pas de compte sur le forum (lien) se retrouve connecté au compte de 8438 . Mais ce dernier utilisait le compte wifi d'un campus. Donc ça peut venir de là.
)6142 est connecté au compte de 3145 (lien).
Hors ligne
Alors là, regardes par où est arrivé l'utilisateur sur le forum, traque toute l'activité de la journée de cette ip même. Car pour rester connecté, il a fallu que quelque chose crée le bon cookie sur sa machine et ce n'est certainement pas le code d'origine de Fluxbb qui autorise ça.
Je ne sais pas comment se fait la passerelle entre dokuwiki et fluxbb mais quand même, ça parait être la meilleur piste dans ce contexte. Si jamais le wiki reconnait un utilisateur à son ip et fait le lien avec le forum... c'est une source à problème.
:canon: Mangafan : Mettez un chat dans votre processeur ! 
Hors ligne
Nouveau cas aujourd'hui apparemment.
Ce soir un membre ID=245 a reçu un MP signé "M." (pour un achat/vente), posté sur le compte de quelqu'un (ID=7797) qui ne s'appelle pas "M." !
245 envoie une réponse en MP à 7797, ce dernier ne comprend pas et poste un message sur le forum pour signaler le problème : il n'a pas envoyé de MP à 245 et il ne s'appelle pas M. !
Je regarde aussitôt les logs, en filtrant sur l'IP que 7797 a utilisé poster le message qui signale le problème.
Je trouve la ligne qui correspond à l'envoi du message qui signale le problème
xx.xx.xx.xx www.xxxxx.xxx - [29/Nov/2015:21:58:04 +0100] POST /forum/post.php?action=post&tid=15936 HTTP/1.1 200 594 http://www.xxxxx.xxx/forum/post.php?action=post&tid=15936 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36Au dessus, avec la même IP, je trouve la ligne qui correspond à l'envoi d'un MP à 245 :
xx.xx.xx.xx www.xxxxx.xxx - [29/Nov/2015:21:13:54 +0100] POST /forum/misc.php?email=245 HTTP/1.1 200 583 http://www.xxxxx.xxx/forum/misc.php?email=245 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36Je ne sais pas encore si 7797 a répondu à 245 par MP du forum (ce qui expliquerait la ligne ci-dessus). Dans le cas contraire, on a une IP pour deux personnes différentes. Peut-être lié au problème. (c'est bien 7797 qui a envoyé le MP à cette heure là, cf ci-dessous)
En attendant de savoir qui est M. (j'ai envoyé un mail à 245) j'ai demandé à 7797 de me donner le max d'infos sur sa navigation du jour, son système d'exploitation, son navigateur, sa machine et de copier le cookie associé au forum.
Quelle autre question poser ?
Quelles infos regarder dans les logs ?
FluxBB me dit que 7797 a toujours posté avec l'IP d'aujourd'hui depuis août 2015 (plusieurs dizaines de messages).
Ces infos peuvent aider à trouver l'origine du problème ?
Dernière modification par oli_v_ier (01-12-2015 00:57:00)
Hors ligne
Je ne sais pas si ça peut avoir un lien : dans dokuwiki 2015-08-10a dans le fichier dokuwiki/inc/auth on trouve ligne 323
/**
* Builds a pseudo UID from browser and IP data
*
* This is neither unique nor unfakable - still it adds some
* security. Using the first part of the IP makes sure
* proxy farms like AOLs are still okay.
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @return string a MD5 sum of various browser headers
*/
function auth_browseruid() {
/* @var Input $INPUT */
global $INPUT;
$ip = clientIP(true);
$uid = '';
$uid .= $INPUT->server->str('HTTP_USER_AGENT');
$uid .= $INPUT->server->str('HTTP_ACCEPT_CHARSET');
$uid .= substr($ip, 0, strpos($ip, '.'));
$uid = strtolower($uid);
return md5($uid);
}https://www.dokuwiki.org/devel:authenti … al_methods :
useSessionCache($user) (only when required)
DokuWiki caches user info for a timespan. This function check expiration of this caching.
http://xref.dokuwiki.org/reference/doku … cache.html
Dernière modification par oli_v_ier (30-11-2015 07:26:28)
Hors ligne
Le membre 7797 a en effet peut-être répondu à 245 pour lui signaler que ce n'était pas lui qui avait envoyé le premier message, tu peux chercher "POST /forum/misc.php?email=245" dans les logs et demander à 245 quand il a reçu le message d'origine pour voir quelle ip a envoyé ce mp à 245 et ainsi voir à qui ça peut correspondre dans la base de donnée.
En fait Fluxbb peut juste retenir l'ip d'inscription, l'ip d'un post et la dernière ip connue il me semble donc si une autre ip est passée par le compte entre les deux, tu ne le verras que dans les logs car je ne crois pas qu'il retienne les ip des mp qui n'est qu'un formulaire mail à la base.
Tu as regardé les logs d'accès apparemment, tu n'as rien de suspect dans ceux des erreurs.
La portion de code de dokuwiki semble être un ajout pour créer un pseudo id unique, si l'ip est la même, le navigateur peut ne pas être le même tout comme les charsets, deux utilisateurs français par exemple qui utiliserait le même navigateur à jour avec ces réglages par défaut et le même proxy auraient le même pseudo UID ; Mais bon, ça fait bidouille superficielle faut voir comment il l'utilise. Pour être honnête j'en saisi assez peu l'intérêt, une série de données concaténées et "hashées" en md5.
:canon: Mangafan : Mettez un chat dans votre processeur ! 
Hors ligne
Le membre 7797 a en effet peut-être répondu à 245 pour lui signaler que ce n'était pas lui qui avait envoyé le premier message, tu peux chercher "POST /forum/misc.php?email=245" dans les logs et demander à 245 quand il a reçu le message d'origine pour voir quelle ip a envoyé ce mp à 245 et ainsi voir à qui ça peut correspondre dans la base de donnée.
Ouaip, c'est ce qu'il s'est produit. L'hypothèse de mon message ci-dessus est donc infirmée.
J'ai retrouvé le log du MP envoyé à 245 par ce M. sur le compte de 7797. Il a une IP (disons IP_2) distincte de celle que 7797 utilise tout le temps.
L'IP_2 est de Belgique.
Le reste des logs associés à IP_2 sur la journée de dimanche 29 novembre ne montre rien de spécial.
J'ai fait une recherche sur son user agent, mais il est assez commun j'ai beaucoup de lignes associées.
Merci pour vos réponses en tout cas, s'il vous avez une idée de ce que je peux chercher dans les logs n'hésitez pas à dire.
Sinon pour l'instant M. ne s'est pas manifesté.
Seul point commun entre tous ces cas : les deux personnes étaient à chaque fois dans un pays différent.
Belgique - France le 29 novembre
Inde-France le 24 novembre 2015
Belgique - Québec le 14 janvier 2015
Hors ligne
Tu peux toujours chercher IP_2 dans le moteur de recherche dans la partie administration. Si c'est un membre avec un peu de chance tu peux trouver son compte si ça se trouve il ne sait même pas rendu compte qu'il envoyé son message avec un autre compte que le sien.
Sur la page http://www.randonner-leger.org/forum/admin_users.php , t'as le formulaire de recherche via l'ip tout en bas normalement.
:canon: Mangafan : Mettez un chat dans votre processeur ! 
Hors ligne