PDA

Voir la version complète : mettre un "faux" user dans la who's on line


francky05
28/05/2007, 08h11
bonjour,

je voudrai savoir si il y a une possibilité de mettre un "faux" user dans le who's on line

je vous explique,
pour l'instant, je fait tout avec un seul compte (administration, modération, et intervention dans mon forum)

comme j'en ai un peu marre de devoir me justifier pour certaines choses que je fait en temps qu'admin, ou modo (les gens comprennent pas que tu est obligé de modérer des trucs vis a vis des autres sans que ca soit un problème perso avec le memebre..) je vais séparer les comptes.
problème, je trouve ça fastidieu de passer son temps à se déconnecter/reco en fonction de ce que je veux faire

alors je pensai faire un user "modération", qui apparaitrai dans le who's on line pour qu les membres pensent qu'il est connecté, mais en faite je continue a tout faire avec mon compte habituel

j'espère que c'est clair, si quelqu'un à une idée ? sinon je vais tenter de codé ca en dur dans le template..mais bon, ca risque d'être galère
a++

MtoR
28/05/2007, 08h22
Mais dans ce cas là tu voudrais que la personne qui a modéré soit ton faux user ?

Sinon tu peux créér un user et après mettre dans le whosonline en dur le username avec le lien vers sa page membre.

Mais bon çà va être un peu "gros" et çà se devinera facilement que c'est un utilisateur bidon.

Markco
28/05/2007, 08h58
Et en créant un compte lambda et en attribuant à ce compte les droits d'admin dans "Groupes d'utilisateurs additionnels" ça ne fonctionnerait pas comme il veut ???

Edit: Mince, même si le pseudo appartient au groupe membre enregistré ou modérateur en groupe principal, il apparait en tant qu'admin dans la liste "Voir l'équipe des forums"

MtoR
28/05/2007, 09h14
Non car il souhaite que l'utilisateur soit connecté tout le temps ;)

Markco
28/05/2007, 09h25
Ben à ce moment la, le truc tout bête c'est de creer un pseudo et de le connecter avec un autre navigateur et sur ce navigateur mettre un refresh

Ou bien s'il ne veut pas utiliser un deuxième navigateur et à voir si c'est faisable c'est de créer une séquence login pass en php du login en question et de programmer un refresh avec le cron pour simuler la présence …

Fred
28/05/2007, 09h26
http://www.vbulletin.org/forum/showthread.php?t=139402&highlight=fake+user

c'est ca non?

francky05
29/05/2007, 16h58
non, je crois que ce hack c'est pour rajouter des utilisateurs (pour faire croire qu'il y a plus d'utilisateurs inscrits)

bon, voilà ce que je compte faire

je crée un user modo, (un crai modérateur, de toute façon il servira pas)

dans ma base user, je rajoute un champs "actif" (valeur 1 pour oui et 0 pour non)

je fait un cron genre toute les 45mn qui test l'heure et qui en fonction change la valeur du champs "actif" (pour pas que le user soit connecter 24/24, mais que ca ressemble à un vrai utilisateur)

je modifie mon fichier index.php pour rajouter le chargement de ce champs "actif" dans la partie "logged in user".

dans mon template "who's on line", je rajoute le compte en dur avec une condition d'affichage genre "if $loggedin[actif]=1" alors j'affiche le user

c'est la partie template que je doit travailler, je ne sait pas comment fonctionne les conditions dans les templates

vais faire des test cette semaine

MtoR
29/05/2007, 20h38
A oui c'est une bonne solution çà :)

Bonne idée ;)

francky05
29/05/2007, 23h27
j'ai déjà fait pas mal de routines dans le genre sur mon vbulletin, par contre c'est pas des hack (je maitrise pas vraimetn çà), je code les truc en php direct (en l'occurence dans le index.php) je fait un gros bloc de code ou je mets toutes mes modifs , comme ca quant il y a une upgrade, je fait juste un copier/coller

demain je test, je vais essayer de pousser le vice un peu plus loin, déjà, pour les période d'affichage du modérateur, je vais faire un truc aléatoire pour que ca fasse "naturel"

MtoR
30/05/2007, 06h56
Bah quand tu le fait dans l'index, après tu pourrais presque faire un plugin rattaché au hook forumhome_start :)

Comme ca tu n'aurais même pas à faire le copier coller en cas de mise à jour !

francky05
30/05/2007, 15h20
j'ai trouvé 1000 fois plus simple, en faite, en regardant le code du index.php, j'ai remarqué que pour les loggedin user, vb récupéré les id dans la base vb_session par rapport à la dernière activité
donc j'ai juste fait un cron qui de façon aléatoire va crée une enregistrement dans cette base pour "simuler" mon user

voici le code du cron, que je lance toutes les 15 mn

ps: jai pas encore optimisé, mais comme ca ca marche nickel déjà

<?php
$host="xxxxxx";
$user="xxxxxx";
$pass="xxxxxxx";
$bdd="xxxxxxxx";

$id="859"; ////l'id de mon faux user

//////définition du taux de probabilitées pour que l'user soit en ligne////////
$var = rand(0,100);
if ($var < 60) /////donc 60 % de chance //////

{

// j'efface l'ancien enregistrement //
mysql_connect($host,$user,$pass) or die;
mysql_select_db("$bdd") or die;
$query="DELETE FROM vb_session WHERE userid='$id'";
$result=mysql_query($query);

////je récupère le "last activity" du dernier connecté/////
////le modérateur aura 60% de chance d'etre en ligne sauf si personne n'est connecté sur le forum////

$query1="SELECT lastactivity FROM vb_session ORDER BY lastactivity DESC";
$result1=mysql_query($query1);
$row_dec1= mysql_fetch_assoc($result1);
$last=$row_dec1["lastactivity"];
//et je recrée un enregistrement avec cette valeur dans le lastactivity//
$query2="INSERT INTO vb_session SET userid='$id', lastactivity='$last'";
$result2=mysql_query($query2);


}

else

{
// j'efface toute présence du modérateur //
mysql_connect($host,$user,$pass) or die;
mysql_select_db("$bdd") or die;
$query="DELETE FROM vb_session WHERE userid='$id'";
$result=mysql_query($query);
}

?>