L'importanza dell'utente anonimo
Molti di voi non se ne saranno accorti, ma cerano dei problemi con la visualizzazione dei commenti che erano stati inseriti dagli utenti anonimi. Oddio, da una parte era meglio perchè ho dovuto cancellare una marea di commenti di spam, ma dall'altra era comunque una cosa che non mi andava giù.
Ho perso due giorni dietro a questo problema. Non riuscivo proprio a capire da cosa dipendesse. Le avevo provate tutte. Disabilitato la cache. Disabilitato i moduli che non erano parte integrante del sito (Advanced menu ad esempio). Tolti i permessi e rimessi. Nulla. Non cambiava nulla. Si continuavano a vedere solo i commenti degli utenti registrati.
Poi questa sera, o meglio notte visto che sto scrivendo alle 2.35, mi è venuto in mente di controllare come Drupal estrae dal DB i commenti da visualizzare. Metti un var_dump di qua, mettine uno di la e finalmente ho trovato la query:
SELECT c.cid AS cid, c.pid, c.nid, c.subject, c.comment, c.format, c.timestamp, c.name, c.mail, c.homepage, u.uid, u.name AS registered_name, u.signature, u.picture, u.data, c.thread, c.status
FROM comments c
INNER JOIN users u ON c.uid = u.uid
WHERE c.nid = %d
Questa query mi ha dato l'illuminazione perché eseguita all'interno di phpmyadmin il risultato era il solo commento dell'utente registrato. Eppure cerano, per il nodo che stavo provando, almeno due commenti di utenti anonimi. Analizzando la query, non che sia di difficile comprensione, si vede subito che l'unione delle due tabelle (comment e users) è una JOIN sul campo uid. Si sa che l'utente anonimo ha uid = 0, quindi che succede all'utente anonimo all'interno della tabella users ? Utente anonimo ? Quale utente anonimo ? Nella mia tabella users non c'e' nessun utente anonimo!!! ARGH!!! o meglio EVVIVA!!! Beccato. Ecco qui l'inghippo. Appena ho inserito a manina una riga con uid uguale a 0 tutto ha ripreso a funzionare. I commenti sono riapparsi. E con loro lo spam. Be', meglio un po' di spam da cancellare che un commento costruttivo in meno.
Sperando che possa essere di aiuto anche a qualcun'altro.
Trackback URL for this post:
- altro /
- utente anonimo /
- 869 reads






Post new comment