Per Sviluppatori

Specifiche Tecniche

Tutto quello che serve sapere sull'architettura, lo stack tecnologico e i requisiti di uwAdmin6.

Stack Tecnologico

Tecnologie affidabili e comprovate, zero dipendenze esotiche.

PHP 8.2+

  • OOP con classi e namespace
  • MySQLi con prepared statements
  • Session management sicuro
  • Intervention Image 3.x

MySQL 8.0+

  • InnoDB con foreign keys
  • UTF8MB4 full unicode
  • Indici ottimizzati
  • Transazioni ACID

Frontend Stack

  • Tailwind CSS 4.x
  • Alpine.js 3.x
  • Flowbite 4.x
  • jQuery 3.7 (compatibilità)

Rich Text Editor

  • TinyMCE 8.2
  • MoxieManager 8.2
  • Configurazione multilingua
  • Plugin personalizzati

UI & Icons

  • Font Awesome Pro 7.1
  • Flag Icons (bandiere)
  • SortableJS 1.15
  • Fancybox 3.5.7

Zero Framework

  • Nessun Laravel/Symfony
  • Composer per dipendenze minime
  • Deploy via FTP/SFTP
  • Shared hosting compatibile

Architettura

Pattern modulare con separazione dei concern e multilingua nativo.

Pattern Modulare

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

Sistema Multilingua

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

Gestione Media

Upload singolo, 7 formati automatici:

Formato Dimensione Uso
s150pxThumbnail
m300pxCard
l600pxContent
xl1200pxHero
xxl1920pxFull HD
original-Backup
cropCustomRitaglio

Sistema RBAC

4 ruoli con permessi granulari per modulo:

Ruolo Read Write Delete Publish
Super Admin
Admin
Editor
Viewer

Gestione Temi

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

Recupero Password

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

GDPR & Cookie Consent

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

Sicurezza

Protezione completa OWASP Top 10 e best practices.

SQL Injection

100% prepared statements con binding parametri via MySQLi.

$db->query($sql, [$id], 'i');

XSS Protection

Output encoding con htmlspecialchars() su tutti i dati utente.

htmlspecialchars($data, ENT_QUOTES, 'UTF-8')

CSRF Protection

Token univoco per sessione su ogni form POST.

<input type="hidden" name="csrf_token" value="...">

Password Security

Hashing con PASSWORD_BCRYPT e cost factor 12.

password_hash($pwd, PASSWORD_BCRYPT, ['cost' => 12])

Rate Limiting

5 tentativi falliti → lockout 15 minuti. Anti brute-force.

max_attempts: 5, lockout: 900s

Session Fingerprint

Binding IP + User Agent. Rigenerazione ID post-login.

session_regenerate_id(true);

reCAPTCHA v3

Protezione anti-spam invisibile con validazione score-based (0.0-1.0).

$recaptcha->isValid(null, 'login');
OWASP Top 10 2021 • GDPR Compliant • Audit Trail

Requisiti Hosting

Compatibile con la maggior parte dei provider di hosting.

Requisiti Minimi

PHP 8.2+
MySQL 8.0+
Memoria PHP 128 MB
Max Upload 32 MB
Spazio Disco 500 MB+

Estensioni PHP Richieste

mysqli
mbstring
gd
json
session
curl
fileinfo
openssl

Opzionale: imagick per elaborazione immagini avanzata

Provider Compatibili

Aruba SiteGround Netsons OVH Serverplan VHosting DigitalOcean AWS

Integrazioni

Servizi esterni e API supportate.

OpenRouter

OpenRouter AI

Generazione contenuti
  • Claude, GPT-4, Llama
  • Assistenti specializzati
  • Traduzioni automatiche

YouTube

Video embed
  • Embed responsivo
  • Thumbnail automatico
  • Privacy-enhanced mode

Vimeo

Video embed
  • Embed responsivo
  • Estrazione metadata
  • Player personalizzato

Intervention Image

Image processing
  • Ridimensionamento automatico
  • Crop intelligente (cover)
  • Watermark e rotazione

PHPMailer

Invio email
  • SMTP autenticato
  • Email HTML responsive
  • Allegati e template

Hai domande tecniche?

Contattaci per una consulenza tecnica o per richiedere una demo personalizzata.