In breve: PHP è un linguaggio di scripting open source usato soprattutto per le applicazioni web. Il codice gira sul server, vi genera l'HTML e invia al browser solo il risultato. Poiché molti CMS, shop e strumenti interni si basano su PHP, la versione di PHP sul server è un fattore di sicurezza a sé, indipendente dall'aggiornamento del CMS.
Cos'è PHP? Una definizione in parole semplici
Il manuale PHP descrive PHP come un linguaggio di scripting open source e di uso generale, molto diffuso, particolarmente adatto allo sviluppo web e incorporabile nell'HTML. Il nome è un acronimo ricorsivo, cioè una sigla che contiene sé stessa: «PHP: Hypertext Preprocessor».
La differenza decisiva rispetto a JavaScript nel browser: il codice PHP viene eseguito sul server. Il visitatore riceve solo il risultato finale e non vede il codice sorgente. Per questo PHP è adatto a tutto ciò che deve restare riservato, ad esempio gli accessi al database, le autenticazioni o il calcolo dei prezzi.
Secondo il manuale, PHP ha due principali ambiti d'uso: gli script lato server per i siti web e gli script da riga di comando, ad esempio per attività periodiche tramite cron. Entrambi si trovano in quasi ogni azienda che gestisce un proprio sito, uno shop o un portale clienti.
Dove si nasconde PHP nella Sua azienda?
PHP è raramente visibile in modo diretto. Si nasconde in software che Lei conosce con altri nomi. Esempi tipici:
- Sistemi di gestione dei contenuti come WordPress, TYPO3, Joomla, Drupal o Contao
- Sistemi di shop come Shopware, WooCommerce, Magento o PrestaShop
- Servizi interni come Nextcloud, Moodle, MediaWiki o Matomo
- Sviluppi su misura basati su framework come Laravel o Symfony
- Interfacce web di dispositivi e pannelli di hosting
Ognuna di queste applicazioni richiede un runtime PHP installato, cioè il programma che esegue il codice PHP. Questo runtime è un software a sé, con aggiornamenti propri. Un aggiornamento di WordPress o Shopware non aggiorna PHP. Chi gestisce quali sistemi dovrebbe quindi essere annotato in un inventario, come descrive l'articolo Inventario di tutti i siti web e server.
Che aspetto ha il codice PHP?
Il codice PHP sta tra i marcatori <?php e ?>. Tutto ciò che sta all'esterno viene emesso invariato come HTML. Un piccolo esempio innocuo:
<?php
$stunde = (int) date('G');
$gruss = $stunde < 12 ? 'Guten Morgen' : 'Guten Tag';
?>
<!DOCTYPE html>
<html lang="de">
<body>
<p><?= htmlspecialchars($gruss) ?>, heute ist der <?= date('d.m.Y') ?>.</p>
</body>
</html>
Il server esegue la parte PHP e invia al browser solo HTML già pronto, ad esempio «Guten Tag, heute ist der 25.10.2026». La funzione htmlspecialchars() converte i caratteri speciali e protegge così dall'HTML iniettato. Queste funzioni di protezione integrate sono uno dei motivi per cui il codice PHP scritto bene può essere sicuro.
Da quali componenti è formato un ambiente PHP?
Un sito PHP non è fatto solo del codice dell'applicazione. Collaborano più livelli e ciascuno richiede una propria manutenzione:
| Componente | Compito | Chi di solito lo aggiorna? |
|---|---|---|
| Server web (Apache, Nginx, LiteSpeed) | accetta le richieste dalla rete | hoster o amministratore del server |
| Runtime PHP (interprete) | esegue il codice PHP | hoster, amministratore del server, repository dei pacchetti |
| Estensioni | driver di database, elaborazione di immagini, cifratura | insieme al runtime PHP |
Configurazione (php.ini) |
limiti, output degli errori, sessioni | amministratore del server |
| Applicazione (CMS, shop) | contenuti e logica di business | agenzia o team interno |
| Plugin e librerie | funzioni aggiuntive | agenzia o team interno |
Il collegamento tra server web e PHP si chiama SAPI (Server Application Programming Interface). Che PHP giri come modulo Apache, tramite PHP-FPM o come CGI ha conseguenze sull'esercizio e sulla sicurezza. Maggiori dettagli in SAPI spiegata e nell'articolo Come PHP genera una pagina web.
Perché la versione di PHP conta per la sicurezza
Ogni versione di PHP viene mantenuta solo per un periodo limitato. Secondo php.net, per ogni ramo di versione ci sono due anni di supporto attivo e poi altri due anni di sole correzioni di sicurezza. Dopo di che il ramo ha raggiunto la fine del ciclo di vita e non riceve più aggiornamenti ufficiali. I dettagli sono in Versioni di PHP e ciclo di rilascio.
Quanto sia importante lo mostra PHP2Shell. Nell'ottobre 2026 sono state rese note due vulnerabilità critiche in PHP stesso, CVE-2026-109618 e CVE-2026-109619, entrambe con CVSS v4.0 9.2. Consentono l'esecuzione di codice dannoso da remoto senza autenticazione. Sono corrette in PHP 8.5.12, 8.4.27, 8.3.36 e 8.2.35. Per PHP 8.1 e precedenti non esistono più aggiornamenti ufficiali.
Per chi decide ne derivano tre punti:
- Un aggiornamento del CMS non chiude una vulnerabilità in PHP. Le due cose vanno aggiornate separatamente.
- Dopo un aggiornamento di PHP tutti i processi PHP devono essere riavviati, altrimenti il vecchio codice continua a girare in memoria.
- Una patch non dimostra che prima non sia successo nulla. Sui server esposti senza protezione rientra nel lavoro anche la ricerca di tracce.
Chiarisca per iscritto chi, nella Sua azienda, è responsabile del runtime PHP: hoster, agenzia o IT interna. Con PHP2Shell è emerso che in molte aziende questa domanda era rimasta aperta.
Che cos'è esattamente la vulnerabilità e chi riguarda lo spiega la pagina Cos'è PHP2Shell?.
Come aiuta concretamente PHP SOS?
- Rilevare lo stato attuale: accertiamo quali dei Suoi sistemi usano PHP, in quale versione e modalità di esecuzione.
- Chiarire le responsabilità: mostriamo quali parti cura il Suo hoster e quali spettano a Lei o alla Sua agenzia.
- Aggiornare: tramite il servizio di patch PHP installiamo gli aggiornamenti, riavviamo tutti i processi e documentiamo lo stato.
- Verificare a posteriori: dove un server era raggiungibile senza protezione, cerchiamo tracce di un'intrusione.
Domande frequenti
PHP è un linguaggio di programmazione o solo un linguaggio di scripting?
Sono vere entrambe le cose. PHP è un linguaggio di programmazione completo e di uso generale, con funzioni, classi e tipi. Lo si definisce linguaggio di scripting perché il codice sorgente non viene tradotto prima in un file eseguibile, ma elaborato in fase di esecuzione dall'interprete PHP.
I visitatori del mio sito vedono il codice PHP?
No. PHP gira sul server e il browser riceve solo il risultato, di solito HTML. Le eccezioni nascono da errori di configurazione, ad esempio quando il server web consegna i file PHP come testo o quando copie di backup come index.php.bak restano accessibili pubblicamente.
Come faccio a capire se il mio sito web gira su PHP?
La maggior parte dei CMS e dei sistemi di shop diffusi, come WordPress, TYPO3, Shopware, Joomla o Nextcloud, è scritta in PHP. Per averne certezza ci si può rivolgere all'hoster, all'agenzia oppure guardare la configurazione del server.
Devo capire PHP come amministratore o titolare dell'azienda?
Non nel dettaglio. È importante sapere che PHP è un software a sé, con aggiornamenti propri, separato dal CMS. Andrebbe chiarito per iscritto chi è responsabile della versione di PHP sui Suoi server.