Bugs nel sistema di messaggistica del gdrcd 5.1 postato il 02/08/2012 11:13:52 nel forum programmazione, gdrcd, open source, hosting e modificato da clemence il 24/12/2012 23:45:08
Ciao a tutti!
Ho trovato alcuni bugs nel sistema di messaggistica del gdrcd 5.1. presenti nel file messages_center.inc.php (sia in quello della versione base che in quello della patch di sicurezza).
Visto che alcuni di questi problemi li ho risolti mentre altri no, e visto che non c'è una discussione dedicata esclusivamente ai problemi legati la messaggistica del gdrcd 5.1 advanced, ho pensato bene di aprire questa discussione, in modo da fornire e trovare soluzioni.
Per essere sintetici, sono questi i problemi che ho trovato:
1. Interruzione della segnalazione del nuovo messaggio appena si clicca sul link dei messaggi
(Risolto: basta inserire sostituire la riga 7 del file messaggi.inc.php con questa riga:
)
2. Rallentamento del sito alla prima ricezione di un messaggio
(Risolto: In effetti non è un vero problema... Penso che il rallentamento capita solo al primo messaggio perché si doveva caricare il file audio. Ho risolto inserendo un file .swf come suono per i messaggi.)
3. Messaggi inviati a tutta l'utenza segnalati perennemente come non letti anche se vengono letti
4. Possibilità da parte di tutti (anche dei personaggi semplici) di inviare messaggi a tutta l'utenza
L'ultimo problema, in particolare, lo vedo potenzialmente pericoloso. Non mi sento di andare nello specifico per non creare danni alle land che non si sono accorte di questo problema ed hanno gdrcd advanced come base, ma ho notato che qualsiasi personaggio ha la possibilità di inviare messaggi a tutta la land scrivendo una determinata cosa nel campo del mittente.
Infine, c'è una cosa su cui ho bisogno di un chiarimento da parte di qualcuno perché non l'ho capita bene: ma nel gdrcd 5.1 c'è la possibilità di inviare messaggi ai gildati? e se c'è, come funziona?
Ho provato a mettere "super" a capo di una gilda e "test" come suo subordinato, ma non appare niente di nuovo nel menu a tendina sotto il campo del destinatario.
Pagine → 1
02/08/2012 11:38:05 e modificato da clemence il 24/12/2012 23:45:27
02/08/2012 12:19:19
24/12/2012 02:24:18 e modificato da clemence il 24/12/2012 23:46:40
Salve!
A distanza di mesi riesumo questa discussione perché ho trovato altri due bugs che non sono riuscito a risolvere (anzi, non ho neanche compreso da cosa derivano).
I bungs in questioni sono i seguenti:
1. Comparsa di un messaggio di errore quando un personaggio dotato di carica (master, moderatore, admin...) invia un messaggio multiplo a personaggi inesistenti o che hanno un nome errato.
Il messaggio di errore che appare è questo:
24/12/2012 15:08:03
La cosa è semplicissima: riga 29-30 del file messages_center.inc.php
Il controllo di esistenza è già fatto, il problema si evidenzia quando TUTTI i destinatari del messaggio non esistono. Questo genera la query che hai riportato, cioè una query di inserimento senza i dati da inserire.
Come risolvere? All'interno del foreach, invece di concatenare direttamente nella variabile $query usare un'altra variabile nuova. Al di fuori del foreach, deve venire fatto un controllo che la nuova variabile non sia vuota. Se non lo è, allora si procede a concatenare la nuova variabile con la variabile $query e si chiama gdrcd_query, altrimenti non si fa niente.
Per il problema dei permessi: purtroppo GDRCD è progettato così da capo a piedi. Controlla i permessi solo il fase di visualizzazione del form e non dopo che il form è stato inviato, aprendo il software a tutti i tipi di attacchi access bypass. Per ogni funzionalità di invio messaggi dalla riga 12 alla 48, dentro a ogni if ed elseif, devi fare un controllo appropriato dei permessi.
26/12/2012 22:08:00
Grazie Leoblacksoul, proverò la soluzione che hai suggerito, anche perché davvero non vedo altre vie e la pagina non riesco a capirla nella sua completezza.
Ma se ho capito bene, un pg semplice non ha alcun controllo, può inviare ciò che vuole a chi vuole. Ho notato che è per un pg semplice è possibile inviare messaggi anche a personaggi inesistenti, volendo.
26/12/2012 23:17:12
si è esatto. L'autore originale di quella pagina è stato pigro e non ha fatto tutti i controlli dovuti.
Comunque la cosa più importante è inserire il controllo permessi dentro a ogni if
Discussione seguita da
Pagine → 1
Rispondi alla Discussione + Segui Discussione Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
cronaikos_gdr ha risposto alla discussione: Cronaikos GDR
World of Tanks: Pre-download dell'aggiornamento 2.0.1!
CRSED: F.O.A.D. → Brutale sparatutto MMO in cui vince l'ultimo giocatore che resta in vita! Il giocatore sarà accompagnato da armi realistiche e magie!
Il gestore di Oceanside GDR ha risposto alla recensione di nez
cronaikos_gdr ha aperto una nuova discussione: Cronaikos GDR
Hogwarts Express - Harry Potter GDR Forum: 🐉 CDCM: Gli Incubi arrivano in aula! 🐉
The Coven → Negli scorci di luce delle paludi della Louisiana fioriscono nuove ombre. Estend e la Congrega ti aspettano per vivere emozionanti avventure!
titti ha recensito Black Sails Chronicles
Extremelot: Tornano le Zucche di Ottobre! 🎃
New Orleans: [On Game] Dispute Territoriali, Incipit.
Hero Wars → Costruisci la tua squadra di eroi leggendari e domina il campo di battaglia! Strategia, tattica e potenza si scontrano in questo RPG ricco di azione!
I dati del generatore di rank sono stati aggiornati!
blackhawk ha risposto alla discussione: Gioco investigativo e politico
dreamboy ha recensito Portus: Harry Potter Gioco di Ruolo
Storie di Esperia: Profumo di vendemmia tra nebbie e apparizioni
Crossout → Tuffati nel mondo di Crossout, il gioco MMO d'azione post apocalittico! Costruisci le tue speciali macchine da combattimento!
Giochi Business - Lista completa dei giochi di ruolo online ambientati nel mondo del business
Betsu No Tamashi - Intervista al gioco di ruolo play by chat a tema manga Betsu No Tamashi
Aokai GdR - Intervista alla gestrice di Aokai Harry Potter GdR il play by forum potteriano!
Recensione CriOnyric - Rencensione del play by chat cyberpunk CriOnyric Foundation!
Colonie Fuorilegge - Intervista al gestore del play by chat cyberpunk Colonie Fuorilegge!
Giochi Fantasy d'autore - Lista completa dei giochi di ruolo online fantasy d'autore
Piume Nere - Recensione del gdr horror "Piume Nere - Abisso di Lazarus - England"... entra nell'incubo!