[RISOLTO]GDRCD 5.4 Log account multipli
[RISOLTO]GDRCD 5.4 Log account multipli postato il 02/04/2020 14:08:13 nel forum programmazione, open source e hosting e modificato da mimelaine il 05/04/2020 12:24:25
Buongiorno a tutti,
nel controllo account multipli, non viene registrato il nome dei pg effettivamente "doppi", ma solo l'indicazione che quel pg ha dei doppi.
Qualcuno ha già risolto questo problema?
Grazie a tutti.
Pagine → 1
03/04/2020 22:36:11
se non ricordo male un nome sta in nome_interessato e l'altro in descrizione evento
04/04/2020 07:59:08
Si ci sono due nomi, ma sui doppi ip è sempre lo stesso. L'unico log che da evidenza è quello dei cookie, ma entrando con due browser diversi ovviamente il controllo è scavalcato.
In pratica non si esegue il match fra ip uguali, ma solo se esiste un cookie "lastlogin".
04/04/2020 12:44:53
potresti fare una query select dove prendi una sola volta i nome_interessato raggruppandoli per ip. Mi pare la soluzione piu' veloce
05/04/2020 12:22:45 e modificato da mimelaine il 05/04/2020 12:27:10
Grazie mille breaker, mi hai fatto accendere la lampadina. Posto per tutti gli altri il codice funzionante per poter avere l'elenco dei doppi(stesso ip).
Il file è login.php, intorno alla riga 163:
/*Se la postazione ha già un cookie attivo per un personaggio differente registro l'evento (Possibile account multiplo)*/
if ((isset($_COOKIE['lastlogin'])===TRUE) && ($_COOKIE['lastlogin'] != $_SESSION['login']))
{
gdrcd_query("INSERT INTO log (nome_interessato, autore, data_evento, codice_evento, descrizione_evento) VALUES ('".gdrcd_filter('in',$_SESSION['login'])."','doppio (cookie)', NOW(), ".ACCOUNTMULTIPLO.", '".$_COOKIE['lastlogin'] ."')");
}
elseif ($lastlogindata['autore'] == $_SERVER['REMOTE_ADDR'])
{
$doppi_pg = gdrcd_query("SELECT nome_interessato FROM log WHERE autore = '".$_SERVER['REMOTE_ADDR']."' AND nome_interessato != '".gdrcd_filter('in',$_SESSION['login'])."'", 'result');
if(gdrcd_query($doppi_pg, 'num_rows') > 0) {
while($all_round=gdrcd_query($doppi_pg, 'fetch')){
if (strpos($all_pg, $all_round['nome_interessato']) !== false) {
//abbiamo già messo nella variabile questo nome
} else {
$all_pg = $all_pg.' / '.$all_round['nome_interessato'];
}
}
gdrcd_query("INSERT INTO log (nome_interessato, autore, data_evento, codice_evento, descrizione_evento) VALUES ('".gdrcd_filter('in',$_SESSION['login'])."','doppio (ip)', NOW(), ".ACCOUNTMULTIPLO.", '".gdrcd_filter('in',$all_pg) ."')");
}
gdrcd_query($doppi_pg, 'free');
}
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
The Coven ↗
RAID Shadow Legends ↗
Fallen Gods ↗
Neverness to Everness ↗
New Orleans ↗