Situazione attuale: PHP2Shell. Due vulnerabilità critiche di PHP (CVSS 9,2) consentono codice dannoso senza autenticazione. Patch dal 21/10/2026.Che cosa fare ora →

I framework PHP in sintesi

I framework danno alle applicazioni PHP struttura, routing e componenti di sicurezza. Questa panoramica mostra i framework noti, i criteri di scelta e i limiti della loro protezione.

Stato 5 min di letturaConoscere PHP

In breve: un framework PHP è un'ossatura di codice riutilizzabile che risolve già i compiti tipici di un'applicazione web: instradare le richieste verso il codice giusto, elaborare i dati dei moduli, interrogare i database, generare l'output. Framework PHP noti sono Laravel, Symfony, Laminas, CodeIgniter, Yii, CakePHP e Slim. Un framework porta con sé componenti di sicurezza, ma non protegge dalle vulnerabilità dell'interprete PHP come PHP2Shell.

Che cos'è un framework PHP?

Senza framework ogni team riscrive routing, validazione dei moduli, sessioni e gestione degli errori. Un framework fornisce per questo componenti fissi e convenzioni. Risparmia tempo, rende il codice leggibile per i nuovi sviluppatori e concentra le funzioni di sicurezza in un punto, invece di spargerle in centinaia di file.

Per la direzione conta soprattutto una conseguenza: con la scelta di un framework ci si lega per anni al suo ciclo di rilascio. Se il framework non supporta più una versione di PHP o non viene più mantenuto, ogni aggiornamento diventa più costoso.

La maggior parte dei framework moderni si installa tramite Composer e rispetta gli standard del PHP-FIG, ad esempio PSR-4 per l'autoloading o PSR-7 per i messaggi HTTP.

I framework PHP noti a confronto

La panoramica seguente usa le autodescrizioni dei progetti sulle loro pagine iniziali. Rinunciamo volutamente a valutazioni per popolarità o quota di mercato, perché non esiste una fonte comune affidabile.

Framework Autodescrizione (in sostanza) Uso tipico
Laravel framework «batterie incluse» per applicazioni web sviluppi su misura, portali, SaaS
Symfony framework potente con componenti riutilizzabili applicazioni grandi e longeve; componenti in altri progetti
Laminas prosecuzione del Zend Framework mantenuta dalla comunità applicazioni aziendali, middleware
CodeIgniter framework piccolo con funzioni potenti applicazioni più piccole, bassa soglia d'ingresso
Yii framework per lo sviluppo rapido di applicazioni moderne applicazioni web, base di alcuni CMS
CakePHP framework con chiare convenzioni MVC classiche applicazioni di database
Slim micro-framework per applicazioni web e API API snelle, servizi middleware

Symfony cita sulla sua pagina iniziale Drupal, Laravel, API Platform e Composer come progetti che usano componenti Symfony. Un framework si nasconde quindi spesso anche dove non lo si vede direttamente. Come sia la situazione per CMS e shop lo mostra la pagina CMS e sistemi di shop su PHP.

Componenti comuni a quasi tutti i framework

Nonostante filosofie diverse, la maggior parte dei framework condivide una struttura. Tutte le richieste passano per un unico punto di ingresso, il front controller, di solito public/index.php. Il server web inoltra a questo file ogni indirizzo per cui non esiste un file reale.

# Esempio: Nginx inoltra i percorsi sconosciuti al front controller
root /var/www/app/public;

location / {
    try_files $uri /index.php$is_args$args;
}

Con Apache questo compito è svolto di solito da una regola di riscrittura nella cartella pubblica, con altri server web da una regola analoga. In tutti i casi è importante che il server web punti alla cartella public e non alla directory principale del progetto. Una directory dei documenti impostata male è tra le cause più frequenti per cui file di configurazione diventano all'improvviso consultabili pubblicamente.

Il vantaggio per la sicurezza: solo la cartella public sta nel webroot. Configurazione, codice sorgente e vendor stanno un livello più in alto e non sono raggiungibili via URL. Poi il router assegna la richiesta a un controller, il middleware verifica login o token CSRF e un motore di template genera l'output con escape automatico.

Come si sceglie un framework?

Per uno sviluppo nuovo o per rilevare un progetto esistente aiutano queste domande:

  1. Manutenzione e ciclo di rilascio: per quanto tempo le versioni ricevono aggiornamenti di sicurezza e ci sono versioni con supporto esteso?
  2. Supporto PHP: la versione del framework in uso gira su una versione di PHP che riceve ancora aggiornamenti di sicurezza? Lo indicano i requisiti del progetto.
  3. Team e fornitori: il team conosce il framework e in caso di emergenza si trovano specialisti?
  4. Ecosistema: esistono pacchetti mantenuti per le Sue esigenze o bisognerebbe costruire molto da sé?
  5. Standard: se il framework rispetta le interfacce PSR, i componenti si sostituiscono più facilmente in seguito.

Per i progetti Laravel e Symfony abbiamo pagine proprie sulla messa in sicurezza: Mettere in sicurezza le applicazioni Laravel e Mettere in sicurezza le applicazioni Symfony.

Che cosa offre un framework alla sicurezza e che cosa no

I framework tolgono agli sviluppatori molte fonti di errore: query di database preparate contro la SQL injection, escape automatico contro il cross-site scripting, protezione CSRF per i moduli, hash di password sicuri. Funziona però solo se il team usa questi componenti e non li aggira.

Contro PHP2Shell tutto ciò non aiuta. CVE-2026-109618 e CVE-2026-109619 si trovano nell'interprete PHP. Il team PHP classifica per mod_php il rischio più alto; lì è stato dimostrato un exploit prima ancora che giri codice dell'applicazione. Il framework non entra quindi nemmeno in gioco. Rimedia solo l'aggiornamento a PHP 8.5.12, 8.4.27, 8.3.36 o 8.2.35 e il riavvio di tutti i processi PHP.

Importante

Un aggiornamento del framework e un aggiornamento di PHP sono due compiti separati. Entrambi appartengono alla manutenzione, ma solo l'aggiornamento di PHP chiude PHP2Shell.

Per i progetti più vecchi si aggiunge un ulteriore rischio: se un'applicazione dipende da una vecchia versione del framework, spesso dipende anche da una vecchia versione di PHP. Per PHP 8.1 e precedenti il progetto PHP non fornisce più aggiornamenti ufficiali.

Come aiuta concretamente PHP SOS?

  • Rileviamo framework, versione e requisiti PHP della Sua applicazione e accertiamo se entrambi ricevono ancora aggiornamenti di sicurezza.
  • Verifichiamo la struttura: nel webroot c'è solo public, configurazione e vendor sono protetti?
  • Pianifichiamo separatamente gli aggiornamenti del framework e di PHP, li testiamo e li installiamo con riavvio di tutti i worker.
  • Per gli sviluppi su misura offriamo un audit di sicurezza e penetration test che verifica in modo mirato l'uso delle funzioni di protezione del framework.

Domande frequenti

Qual è il miglior framework PHP?

Dipende dal progetto. Contano dimensioni e durata dell'applicazione, il know-how del team, la manutenzione da parte del progetto e il supporto delle versioni attuali di PHP. Un framework ben mantenuto e conosciuto dal team è di solito la scelta migliore rispetto a quello più in voga del momento.

Un framework protegge da PHP2Shell?

No. PHP2Shell si trova nell'interprete PHP e, secondo il team PHP, con mod_php è stato dimostrato un exploit prima ancora che giri codice dell'applicazione. Nessun aggiornamento del framework sostituisce l'aggiornamento del runtime PHP e il riavvio di tutti i worker.

Che cos'è un micro-framework?

Un micro-framework fornisce solo il nucleo, tipicamente routing, middleware e oggetti richiesta-risposta. Accesso al database, template o moduli si scelgono a parte. Slim, ad esempio, si definisce da sé un micro-framework per PHP.

Che cosa significa se un CMS usa componenti Symfony?

Usa singoli elementi di Symfony, ad esempio per l'elaborazione HTTP o la console, senza adottare l'intero framework. Gli avvisi di sicurezza su questi componenti riguardano allora anche il CMS, il che conta nella pianificazione degli aggiornamenti.

Fonti

Contatto immediato

Ogni ora conta. Ci scriva adesso.

Descriva brevemente sistema, versione di PHP e quanto osservato. Ci faremo sentire, chiariremo la situazione e lavoreremo da remoto fino alla chiusura e alla documentazione dell'incidente.

Aiuto immediato