Registro delle modifiche

NeoFrag Reborn 1.0.0

Luandre 6 giu 2026 7 min di lettura 98
Sommario
Sommario

Primo ciclo del fork: modernizzazione della base, rafforzamento della sicurezza e un'ampia ondata di nuove funzionalità.

Aggiunto

Piattaforma e strumenti

  • Migrazioni del database numerate (tools/migrate.php, con un comando baseline per riprendere un database esistente) e primi test automatici (PHPUnit).
  • Nuovo installer web, che sostituisce quello del NeoFrag originale: una procedura guidata in cinque passaggi (Requisiti → Database → Moduli → Amministratore → Terminato). Il passaggio «Moduli» proponeva tre profili di sito (Community, Gaming / eSport, Sito semplice) e poteva aggiungere addon dal marketplace.
  • Marketplace remoto (catalogo e archivi serviti da neofrag-reborn.xyz): l'installer (passaggio «Moduli») e l'amministrazione (pulsante «Marketplace» della pagina Temi & Addons) vi aggiungono con un clic gli addon del catalogo ufficiale che non sono inclusi nel sito. Sicurezza: HTTPS obbligatorio, impronta SHA-256 verificata, archivio controllato voce per voce (nessun percorso che esca dalla cartella dell'addon, nessun collegamento simbolico), indirizzo del catalogo fisso, dimensioni e tempi limitati.
  • Strumenti per costruire i pacchetti: package-addons prepara il catalogo del marketplace, build-release gli archivi da caricare via FTP.
  • Script di manutenzione (tools/maintenance.php, da lanciare con un'attività pianificata): svuota il cestino di ciò che vi giace da più di 30 giorni (regolabile) ed elimina gli account mai confermati dopo 7 giorni, quando la convalida delle registrazioni è attivata — mai un amministratore.

Temi e interfaccia

  • Quattro temi creati per NeoFrag Reborn: Nebula, pensato per i siti di community, Forge, Blockcraft e Granite. Variabili di colore comuni (--nf-*) vestono moduli e widget dei colori di ciascun tema.
  • Rifacimento completo dell'amministrazione: nuovo aspetto, barra laterale, tavolozza dei comandi (Ctrl+K), modalità chiara e scura.
  • Selettori di tema e di lingua a piè di pagina (visitatori compresi).
  • Menu: costruttore di menu a più livelli, utilizzabile nel widget Navigazione (opzione «Menu gestito»).

Contenuti

  • Notizie e articoli: pubblicazione programmata — il contenuto compare all'ora scelta, e notifiche, webhook e punti partono solo in quel momento, non più al salvataggio (un indirizzo da far chiamare a un'attività pianificata, protetto da una chiave); azioni di gruppo; ricerca, filtri e paginazione nell'amministrazione; una pagina dedicata per leggere una notizia. Gli articoli ricevono un'immagine in evidenza, come già le notizie, e il contatore delle visualizzazioni delle notizie, che non aumentava mai, finalmente conta.
  • Pubblicazione programmata anche per pagine, gallerie ed eventi (per gli eventi, data di pubblicazione distinta dalla data in cui si svolgono).
  • Wiki: fa da documentazione sul sito (sommario a schede, resa Markdown affidabile); ricerca e paginazione; confronto visivo di due revisioni di una pagina, riga per riga.
  • Media: titolo e descrizione modificabili per ogni file, ricerca, filtro per tipo e paginazione. Ricerca, filtri e paginazione anche nell'amministrazione di Download, Elenco link, FAQ, Sondaggi e Libro degli ospiti.
  • Feed RSS 2.0 (notizie + articoli), pulsanti di condivisione social, SEO (meta description, canonical, Open Graph, Twitter Card, meta per pagina).

Community e coinvolgimento

  • Centro notifiche sul sito (campanella e numero di non lette), con iscrizioni (seguire un contenuto o una categoria). Le notifiche segnalano i commenti, le risposte del forum, le menzioni @utente, i messaggi privati e gli inviti a un evento.
  • Reazioni «mi piace» su notizie, articoli, commenti e messaggi del forum; revisioni dei contenuti (cronologia e ripristino); widget «Ultimi commenti».
  • Cestino comune: notizie, articoli, gallerie, commenti e messaggi del forum eliminati vi finiscono, e possono esserne ripristinati.
  • Forum: categoria riservata ai membri VIP, immagine per categoria.

Gaming

  • Eventi: gestione completa degli avversari (elenco, modifica, eliminazione; il NeoFrag originale permetteva solo di aggiungerne uno da una partita), conto alla rovescia in diretta, notifica di invito.

Monetizzazione e gamification

  • Karma/reputazione → punti (scala configurabile) → negozio (pagamento in punti) → stato VIP.
  • Stripe (acquisto di punti e di pacchetti VIP), gestione della pubblicità (nascosta ai membri VIP), donazioni (modulo e widget portati dal «Donation v3» di HiddenBlob, da majiid; LGPLv3).

Collegamenti tra moduli

  • Statistiche estese a 19 moduli (il NeoFrag originale ne copriva 3: commenti, forum, membri); bacheca delle attività sul profilo, che raccoglie l'attività di un membro in tutti i moduli; dashboard «Da gestire» nell'amministrazione; blocchi di pagina: lo shortcode [block:…] inserisce in una pagina un blocco di un modulo (notizie, articoli, download).

Webhook e audit

  • Webhook in uscita firmati (HMAC), gestiti dall'amministrazione. Il registro di audit registra anche l'installazione e la disinstallazione di un addon, l'attivazione di un tema o di un modulo e il salvataggio delle impostazioni.

Amministrazione degli account

  • Membri: esportazione dei membri in CSV o JSON (GDPR); i moderatori che ne hanno il permesso regolano la moderazione dalla loro area membri. La modifica e l'eliminazione di un membro dall'amministrazione, già presenti nel NeoFrag originale, sono ricollegate al nuovo elenco dei membri.

Modificato

  • Versionamento normalizzato in SemVer puro nelle dipendenze degli addon (rimozione delle etichette «Alpha»).
  • Pagine fa ora parte del nucleo; Notizie, Forum e Gallerie si possono disinstallare.
  • Editor di testo avanzato: finalmente funziona — l'HTML che produce viene ripulito invece di essere mostrato come testo.

Rimosso

  • I due temi del NeoFrag originale, «Thème par défaut» (default) e Azuro, sostituiti dai temi di NeoFrag Reborn.
  • L'editor BBCode del NeoFrag originale (WysiBB) e la conversione del BBCode: l'editor di testo avanzato lo sostituisce, e un testo scritto in BBCode viene ora mostrato così com'è.

Corretto

  • Dieci difetti corretti, tra cui: gli eventi senza partecipanti né partita non comparivano; modificare o eliminare una modalità di gioco falliva; eliminare un'offerta di reclutamento falliva; il link verso un partner portava a una pagina non trovata (ora porta al suo sito); l'autore di una segnalazione non veniva mai mostrato, nemmeno ai moderatori autorizzati; i widget Gallerie e Forum verificavano male le loro impostazioni o i permessi. I contatori delle visualizzazioni contano ormai una sola volta per visita e ignorano i bot.
  • Un contenuto programmato non è più visibile dal suo indirizzo diretto prima dell'ora prevista. Pulsanti che non facevano nulla ora funzionano: periodi delle statistiche, attivazione dei modelli di e-mail, social network (sono mostrati tutti e sei), pulsanti «Aggiungi» di notizie, pagine e gallerie.
  • Temi: contrasto dei pulsanti portato al livello WCAG AA, campi di accesso uniti alla loro icona, allineamenti corretti.
  • Schermi piccoli e grandi (verificato da 390 a 2560 pixel di larghezza): nell'amministrazione, menu laterale a scomparsa e contenuto a tutta larghezza sul telefono; profilo membro; barra dell'account compatta in Nebula, Forge, Blockcraft e Granite.
  • Le pagine Membri, Statistiche ed Editor live dell'amministrazione mostravano un errore 500; alcuni contatori restavano bloccati a 1 (badge della moderazione, iscritti alla newsletter, statistiche dei media), e una categoria vuota di Download, FAQ o link non si poteva eliminare. (Per gli sviluppatori: errori di tipizzazione rigorosa in timetostr() e negli helper; (int) su row(FALSE) di un COUNT/SUM valeva sempre 1.)

Sicurezza

  • L'HTML inviato dai membri viene ripulito lato server (HTMLPurifier) contro l'iniezione di codice; un file caricato viene verificato in base al suo contenuto reale, non solo alla sua estensione; HSTS attivato (i browser non ripiegano più su HTTP).
  • Token anti-CSRF confrontati a tempo costante. Indirizzo IP: la limitazione della frequenza e l'elenco degli IP bannati non si fidano più delle intestazioni falsificabili (X-Forwarded-For…), a meno che non sia dichiarato un proxy fidato. Permessi: controlli dei permessi aggiunti dove mancavano (Libro degli ospiti, Giochi, Gallerie, Eventi, Statistiche).
  • I vecchi script di aggiornamento non possono più ricreare oggetti PHP arbitrari rileggendo le impostazioni (unserialize limitato da allowed_classes).
  • Impronta di sessione contro il furto di sessione: un membro connesso viene disconnesso se il suo browser (user-agent) cambia in modo marcato durante la sessione — un semplice aggiornamento del browser non basta. L'indirizzo della pubblicazione programmata è protetto da una chiave confrontata a tempo costante.

Da leggere anche

0
Commenti

Gestisci i miei cookie

Il sito installa solo i cookie necessari al suo funzionamento: non richiedono il suo consenso. Gli altri servizi appartengono ad altre società; si caricano solo se li accetta. La sua scelta è conservata per sei mesi, e può cambiarla in qualsiasi momento.

Necessari al sito Sempre attivi

  • __Host-session Mantiene il suo accesso e protegge i moduli dagli invii fraudolenti. Fino alla chiusura del browser; un anno con «Ricordami»
  • nf_consent Conserva le scelte che fa in questa finestra. 6 mesi
  • nf_fuseau Mostra le date e gli orari nel suo fuso orario. 1 anno
  • Memoria del browser Conserva la sua scelta tra modalità giorno e notte, e la presentazione scelta per l’elenco degli articoli. Finché non lo svuota

Video

I video integrati nelle pagine: il lettore proviene dalla piattaforma, che riceve il suo indirizzo IP e può installare i propri cookie.

Musica

I brani e le playlist integrati nelle pagine: il lettore proviene dalla piattaforma, che riceve il suo indirizzo IP e può installare i propri cookie.