Home / Applicazioni Web / NexusGrab 2.0: L'Evoluzione del Download Manager Flat-File v2.0.0

Un’applicazione PHP open source per archiviare, organizzare e condividere file online con ricerca istantanea, interfaccia dark glassmorphism e protezioni avanzate contro le principali minacce web.

README.md
Documentazione del progetto

NexusGrab 2.0: L'Evoluzione del Download Manager Flat-File

Architettura moderna, interfaccia Dark Glassmorphism e sicurezza Enterprise a prova di OWASP ZAP

> Autore: Mylab76
> Portale Ufficiale: https://mylab76.net/
> Progetto & Download: https://mylab76.net/codehub/
> Versione: 2.0
> Licenza: Open Source (MIT)

---

1. Introduzione: La Visione Dietro NexusGrab

Nel panorama moderno dello sviluppo web, la maggior parte delle piattaforme di condivisione e gestione file richiede complesse configurazioni di database relazionali (MySQL, PostgreSQL), librerie pesanti e architetture cloud spesso sovradimensionate.

NexusGrab nasce con un obiettivo radicalmente diverso: offrire un sistema di archiviazione, catalogazione e download rapido, snello ed estremamente performante basato su un'architettura Flat-File (PHP + JSON). Nessun database da configurare, zero tabelle MySQL da importare, nessuna migrazione complessa: basta caricare l'applicazione su qualsiasi web server PHP standard (Apache, Nginx, IIS) per avere immediatamente a disposizione un archivio file cloud autonomo, elegante e sicuro.

Con il rilascio della Versione 2.0, NexusGrab compie un salto generazionale: l'esperienza utente è stata completamente ripensata con un design dark glassmorphism di classe enterprise, mentre il motore applicativo è stato sottoposto a un'intensa opera di irrobustimento di sicurezza, validata da scansioni approfondite con lo strumento di analisi vulnerabilità OWASP ZAP.

---

2. Cosa C'è di Nuovo in NexusGrab 2.0: Il Confronto con la Versione Precedente

La versione 2.0 non è un semplice restyling grafico, ma una revisione strutturale che interessa estetica, usabilità e robustezza del codice.

| Ambito | Versione Precedente (v1.x) | Nuova Versione 2.0 |
|---|---|---|
| Interfaccia Grafica (UI) | Stile Bootstrap predefinito, contrasto non ottimizzato, layout statico | Modern Dark Glassmorphism, font Inter, effetti glass, palette calibrata e totale reattività mobile |
| Identificazione File | Icone generiche o basate su FontAwesome standard | Loghi ufficiali dedicati per ciascun formato (PDF, Word, Excel, ZIP/RAR, video, audio, immagini, codice) |
| Navigazione & Ricerca | Ricaricamento pagina a ogni filtro | Ricerca istantanea live senza ricaricare la pagina, ordinamento per nome, data e dimensione |
| Gestione Cookie | Cookie fittizi nel testo della policy, banner generico | Cookie tecnici reali (PHPSESSID), memorizzazione preferenze in localStorage, zero tracciatori |
| Architettura di Sicurezza | Sessioni PHP predefinite, assenza di token CSRF nei form | Modulo centralizzato config/security.php, token anti-CSRF crittografici, header HTTP difensivi |
| Protezione CDN | Risorse esterne caricate senza verifica integrità | Subresource Integrity (SRI) con hash SHA-384 su tutti i file CSS e JS di terze parti |
| Pagine di Errore | Pagine di errore standard di Apache (rischio information leakage) | 6 Pagine di errore coordinate (401, 403, 404, 500, 503) nello stile dark dell'app |
| Verifica di Sicurezza | Controllo manuale | Dashboard dinamica audit.php con scansione real-time e 100% di conformità OWASP |

---

3. L'Interfaccia Dark Glassmorphism: Bellezza e UsabilitÃ

Uno dei punti di forza di NexusGrab 2.0 è la cura riposta nell'interfaccia utente.

🎨 Design System

L'applicazione adotta una palette scura sofisticata basata su toni ardesia e blu notte (#080c16, #0e1525, #141c2d), valorizzata da gradienti radiali discreti e accenti vivaci (azzurro cyan, smeraldo, ambra e viola). L'adozione del font Inter garantisce una leggibilità perfetta su schermi desktop ad alta risoluzione e su dispositivi mobili.

📁 Icone Ufficiali dei Formati File

Ogni risorsa presente nell'archivio viene identificata da un badge iconico personalizzato ad alta definizione:
  • Documenti: PDF ufficiali, fogli di calcolo Excel (.xlsx, .csv), documenti Word (.docx), file di testo (.txt).
  • Archivi compressi: ZIP, RAR, 7Z, TAR, GZ.
  • Sviluppo & Codice: JSON, SQL, PHP, HTML, CSS, JavaScript, Markdown, Python, C++, Java, Shell.
  • Multimediali: immagini (PNG, JPG, WebP, SVG) e file video/audio con anteprime proporzionate.

âš¡ Navigazione ad Albero e Ricerca Istantanea


Attraverso la vista browse.php, l'utente può esplorare la struttura ad albero delle cartelle con percorsi breadcrumb dinamici. La ricerca integrata in JavaScript filtra i file in tempo reale man mano che l'utente digita, consentendo l'individuazione immediata dei documenti all'interno di archivi con migliaia di voci.

---

4. La Ristrutturazione della Sicurezza: Allineamento agli Standard OWASP

La sicurezza ha rappresentato il fulcro dello sviluppo della versione 2.0. Attraverso una scansione condotta con OWASP ZAP (Checkmarx), sono state individuate e corrette 4 vulnerabilità di rischio medio e 5 di rischio basso, raggiungendo il traguardo del 100% di conformità applicativa.

🛡️ 1. Protezione Anti-CSRF (Cross-Site Request Forgery) a 360 Gradi

  • Problema: Nelle versioni precedenti, i form di autenticazione e le chiamate di manipolazione del filesystem non verificavano l'origine della richiesta, esponendo l'amministratore a potenziali attacchi cross-site.
Soluzione v2.0: È stato introdotto un generatore crittografico ad alta entropia che assegna a ogni sessione un token univoco di 32 byte generato con random_bytes(32). Tutte le operazioni di scrittura (login admin, cambio password, upload file, creazione cartelle, ridenominazione, eliminazione, chiamate AJAX) convalidano il token mediante la funzione hash_equals(), immune da attacchi basati sui tempi di esecuzione (timing attacks). All'accesso riuscito dell'amministratore, l'ID di sessione viene contestualmente rigenerato (session_regenerate_id(true)) per scongiurare il rischio di Session Fixation*.

🍪 2. Sessioni e Cookie Blindati (HttpOnly, SameSite, Secure)

  • Problema: I cookie di sessione non protetti potevano essere intercettati tramite JavaScript in caso di XSS o inviati in richieste esterne.
  • Soluzione v2.0: Il modulo config/security.php e le direttive del server Apache in .htaccess configurano obbligatoriamente:
* HttpOnly = true: impedisce a qualunque script lato client di accedere a document.cookie. * SameSite = 'Lax': blocca la trasmissione del cookie in chiamate cross-site non sicure. * Secure = true: garantisce che il cookie transiti unicamente su canali crittografati HTTPS.

🌐 3. Header HTTP Difensivi a Doppio Livello

NexusGrab 2.0 applica una strategia difensiva sia a livello di configurazione web server (.htaccess con mod_headers) sia con fallback applicativo PHP (sendSecurityHeaders()):
  • Content-Security-Policy (CSP): restringe rigidamente le sorgenti autorizzate per script, stili, font e connessioni esterne.
  • X-Content-Type-Options: nosniff: inibisce l'interpretazione MIME errata di file malevoli mascherati da file multimediali o di testo.
X-Frame-Options: SAMEORIGIN: neutralizza gli attacchi di Clickjacking* vietando l'inclusione di NexusGrab all'interno di iframe su domini esterni.
  • Referrer-Policy: strict-origin-when-cross-origin: protegge la riservatezza degli URL interni durante la navigazione verso l'esterno.
  • Permissions-Policy: disabilita le API hardware sensibili del client non necessarie (geolocalizzazione, fotocamera, microfono).

🔒 4. Subresource Integrity (SRI) sulle CDN Esterne


Per proteggere gli utenti da attacchi alla catena di fornitura (Supply Chain Attacks), ogni libreria ospitata su CDN terze (Bootstrap 5.3 su jsDelivr e FontAwesome 6.4 su Cloudflare) include il rispettivo hash crittografico SHA-384 (integrity) e la direttiva crossorigin="anonymous". In caso di manomissione o alterazione del file remoto, il browser ne blocca istantaneamente l'esecuzione.

📁 5. Protezione Nativa da Path Traversal e Isolamento Filesystem

Tutti i percorsi richiesti per la visualizzazione o il download dei file transitano attraverso due filtri di sicurezza dedicati:
  • sanitizeRelativePath(): rimuove caratteri null byte (chr(0)), normalizza i separatori slash e blocca qualsiasi sequenza di risalita percorso (../).
  • isPathWithinBase(): confronta tramite realpath() il percorso di destinazione con la directory di upload consentita (uploads/), respingendo ogni richiesta che tenti di accedere al filesystem al di fuori del perimetro autorizzato.
  • Vengono inoltre ignorati e nascosti in automatico metadati e file speciali di sistema, come le cartelle @eaDir generate dai NAS Synology e i file nascosti (.DS_Store, Thumbs.db).
---

5. La Dashboard Dinamica di Sicurezza: audit.php

Una novità esclusiva di NexusGrab 2.0 è la presenza di uno strumento di autodiagnosi dinamica integrato nella root del progetto: audit.php.

Aprendo la pagina nel browser, l'applicazione esegue un'analisi in tempo reale dei propri file sorgente e delle configurazioni del server web, verificando voce per voce:

  • Presenza e corretta impostazione dei cookie sicuri (HttpOnly, SameSite);

  • Configurazione degli header di sicurezza Apache e PHP (CSP, nosniff, anti-clickjacking);

  • Presenza dei token anti-CSRF in tutti i form e controller;

  • Implementazione degli hash SRI su tutte le risorse esterne;

  • Pagine di errore personalizzate configurate e funzionanti;

  • Regole di sicurezza del file .htaccess.
La dashboard mostra l'avanzamento globale dei controlli (attualmente attestato al 100% FATTO ✅) e consente di filtrare le singole verifiche, offrendo un riscontro visivo e trasparente sullo stato di salute della piattaforma.

---

6. Privacy, Trasparenza e Approccio Privacy by Design

NexusGrab 2.0 sposa pienamente i principi di Minimizzazione dei Dati del Regolamento Europeo GDPR (Reg. UE 2016/679):

1. Nessun Dato Personale Richiesto: I visitatori consultano le cartelle e scaricano i file in modo assolutamente libero e anonimo. Non sono presenti form di registrazione, moduli di cattura email o procedure di iscrizione obbligatoria.
2. Statistiche Puramente Aggregate: Il contatore dei download registrato per ciascun file è un semplice intero numerico incrementato nel file data/files.json. Non viene effettuata alcuna associazione tra i download e gli indirizzi IP dei visitatori.
3. Zero Profilazione Commerciale: L'applicazione non include tracker pubblicitari, pixel di conversione social o cookie di terze parti. L'unico cookie utilizzato è il cookie tecnico essenziale PHPSESSID, accompagnato da una chiave tecnica nel localStorage del browser per memorizzare la presa visione dell'informativa cookie.
4. Pagine Legali Dedicate e Chiare: Le pagine [cookie-policy.php](cookie-policy.php), [termini-servizio.php](termini-servizio.php) e [privacy-policy.php](privacy-policy.php) sono state riscritte integralmente per fornire all'utente un quadro onesto, trasparente e privo di clausole ambigue.

---

7. Requisiti di Sistema e Installazione Rapida

L'assenza di dipendenze complesse rende NexusGrab compatibile con la quasi totalità degli ambienti di hosting PHP:

  • Web Server: Apache 2.4+ (con moduli mod_rewrite e mod_headers), Nginx o IIS.
  • PHP: Versione 7.4, 8.0, 8.1, 8.2, 8.3 o superiore.
  • Estensioni PHP: json, session, fileinfo (abilitate per impostazione predefinita in quasi tutti i server).
  • Database SQL: Nessuno (architettura autonoma flat-file).

🚀 Come Iniziare in 3 Passaggi:


1. Carica i file nella cartella pubblica del tuo server web.
2. Assicurati che le cartelle uploads/, data/ e config/ abbiano permessi di scrittura corretti (CHMOD 755 o 775).
3. Visita nel browser l'indirizzo http://tuosito.com/setup.php per configurare le credenziali amministrative con hash crittografico sicuro.

---

8. Conclusioni e Risorse

Con la versione 2.0, NexusGrab si afferma come uno strumento indispensabile per professionisti, sviluppatori, aziende e appassionati che desiderano condividere file e documenti in rete senza la complessità e le vulnerabilità tipiche dei sistemi basati su database pesanti.

La combinazione di un design contemporaneo ad alto contrasto, la reattività del motore flat-file e una solida architettura difensiva a prova di vulnerabilità OWASP fanno di questa release il punto di riferimento per la gestione e il download sicuro di contenuti digitali.

Commenti e Feedback (0)

Nessun commento per questo progetto. Sii il primo a condividere un feedback!
Lascia un commento o una recensione

Devi aver effettuato l'accesso per poter scrivere un commento su questo progetto.

Accedi al tuo Account oppure Registrati