Tutto quello che serve sapere sull'architettura, lo stack tecnologico e i requisiti di uwAdmin6.
Tecnologie affidabili e comprovate, zero dipendenze esotiche.
Pattern modulare con separazione dei concern e multilingua nativo.
Ogni modulo segue una struttura standardizzata:
/uw-admin/admin/{modulo}/
├── index.php # Lista con filtri
├── form.php # Create/Edit
├── ajax/ # Operazioni async
│ ├── delete.php
│ ├── toggle-*.php
│ └── reorder.php
└── includes/ # Componenti riutilizzabili
24 moduli implementati con questo pattern
Attivazione selettiva per ogni progetto
Pattern polymorphic con tabelle separate:
# Tabella principale
news (id, data_pubblicazione, attivo)
# Tabella traduzioni
news_traduzioni (
id, news_id, lingua_id,
titolo, slug, contenuto,
UNIQUE(news_id, lingua_id)
)
9 lingue supportate nativamente
URL SEO-friendly per ogni lingua: /it/news/titolo
Upload singolo, 7 formati automatici:
| Formato | Dimensione | Uso |
|---|---|---|
s | 150px | Thumbnail |
m | 300px | Card |
l | 600px | Content |
xl | 1200px | Hero |
xxl | 1920px | Full HD |
original | - | Backup |
crop | Custom | Ritaglio |
4 ruoli con permessi granulari per modulo:
| Ruolo | Read | Write | Delete | Publish |
|---|---|---|---|---|
| Super Admin | ||||
| Admin | ||||
| Editor | ||||
| Viewer |
Tema attivo configurabile da admin con supporto tema sviluppo:
Priorita risoluzione tema:
1. Tema sviluppo (se abilitato + IP/cookie)
2. Tema attivo (da database)
3. Fallback a 'default'
Override granulare: personalizza solo i file necessari
Tema sviluppo: test nuovi temi senza impattare i visitatori
Autorizzazione: whitelist IP o cookie segreto
Sistema completo con email SMTP e token sicuro:
Token: 64 char hex (random_bytes)
Scadenza: 1 ora
Anti-enumeration: messaggio generico
SMTP: PHPMailer con fallback mail()
Modale integrato nella pagina login (Alpine.js)
8 preferenze email configurabili da admin
reCAPTCHA v3 opzionale per anti-spam
Sistema built-in zero dipendenze per compliance GDPR e ePrivacy:
Cookie Banner (2 livelli):
1. Barra fissa: Accetta | Rifiuta | Personalizza
2. Modal: toggle per categoria cookie
Blocco preventivo script:
- GA4 caricato SOLO dopo consenso
- Script custom bloccati fino ad accettazione
- reCAPTCHA classificato come tecnico
Cookie: uw_cookie_consent (base64 JSON, 365gg)
Policy: generate automaticamente IT/EN
18 preferenze database (10 privacy + 8 cookie)
Classi PHP: CookieConsent + PrivacyPolicy
Frontend: Alpine.js cookie-consent.js
Protezione completa OWASP Top 10 e best practices.
100% prepared statements con binding parametri via MySQLi.
$db->query($sql, [$id], 'i');
Output encoding con htmlspecialchars() su tutti i dati utente.
htmlspecialchars($data, ENT_QUOTES, 'UTF-8')
Token univoco per sessione su ogni form POST.
<input type="hidden" name="csrf_token" value="...">
Hashing con PASSWORD_BCRYPT e cost factor 12.
password_hash($pwd, PASSWORD_BCRYPT, ['cost' => 12])
5 tentativi falliti → lockout 15 minuti. Anti brute-force.
max_attempts: 5, lockout: 900s
Binding IP + User Agent. Rigenerazione ID post-login.
session_regenerate_id(true);
Protezione anti-spam invisibile con validazione score-based (0.0-1.0).
$recaptcha->isValid(null, 'login');
Compatibile con la maggior parte dei provider di hosting.
Opzionale: imagick per elaborazione immagini avanzata
Servizi esterni e API supportate.
Contattaci per una consulenza tecnica o per richiedere una demo personalizzata.
Questo sito utilizza cookie tecnici e, previo consenso, cookie di analisi statistica per migliorare la tua esperienza. Cookie Policy
Indispensabili per il funzionamento del sito. Non possono essere disattivati.
Ci permettono di capire come i visitatori interagiscono con il sito, raccogliendo informazioni in forma anonima.