+ DONE - login
+ DONE - se pass:
+ DONE - richiede per l' utente un token (tutta la parte backend va un minimo studiata)
+ DONE - lo legge, ci hasha la password
+ DONE - invia la pass al server hashata
+ DONE - se non pass:
+ DONE - check del login e return corretto
+ DONE - oggetto in shm single table con ( "ip", "login", timestamp ) e suo management
+ DONE - rename ghost if logged
+ DONE - onunload_cb e onbeforeunload_cb !!!
+ DONE - da change attrs a change class (input field)
+ DONE - colore del bg per arrivare ad essere omogeneo
+ DONE - cambiare path e file di config
+ DONE - login with or without pass
+ DONE - registered nick notice (METTERE IL MSG NELLA PAG DI LOGIN)
+ DONE - segnalare tavoli solo per auth
+ DONE - rename restriction at auth table
+ DONE - change nick (strcasecmp)
+ DONE - refact js tables to handle flags
+ restrict challenge per IP
+ restricted charset for login
+
+ - login modify
+ DONE - db (fake)
+ DONE - display auth
+ - manage preferences
+ - db (minimal)
+ - db admin page
+ - user db admin
+ - use db
+ - admin db
+ DONE - work background
+ DONE - reserved tables
+
+
+ - strong ban: "expire time|IP|session|(nick if authenticated)"
+ login: se auth - verifica solo gli expire per quel nick
+ se non auth - verifica gli expire per IP e sessione
+
+
+ STUDIARE UN ANTI-DOS
+
+
+ DONE - room javascript refactoring
+
+ minor
+ -----
+ - auth after login
+
+
+ BRISK2 (spawn)
+ ======