Skip to main content

Panoramica

revolution/laravel-fetch-metadata è un pacchetto middleware di sicurezza che verifica le header HTTP Sec-Fetch-* inviate dal browser. Puoi controllare quali richieste ammettere in base a origine, modalità, destinazione e presenza di interazione utente. Sfruttando le funzionalità di sicurezza integrate nel browser puoi bloccare richieste malevole da origini non autorizzate senza compromettere l’esperienza degli utenti legittimi.
In Laravel 13 la verifica dell’Origin nella protezione CSRF utilizza la header Sec-Fetch-Site. Per i dettagli consulta Protezione CSRF.
Per le specifiche dettagliate di Fetch Metadata consulta la documentazione MDN.

Installazione

Registrazione degli alias di middleware

Registra gli alias dei middleware in bootstrap/app.php.
Puoi usare anche solo alcuni middleware. Puoi rinominare gli alias a piacere.

Descrizione dei middleware

SecFetchSite

La header Sec-Fetch-Site indica la relazione tra l’origine della richiesta e quella del target. Per impostazione predefinita ammette solo same-origin e none (accesso diretto). Per i dettagli consulta la documentazione MDN.

SecFetchMode

La header Sec-Fetch-Mode indica la modalità della richiesta. Per impostazione predefinita ammette navigate e cors. Per i dettagli consulta la documentazione MDN.

SecFetchDest

La header Sec-Fetch-Dest indica il tipo di risorsa destinazione della richiesta. Per i dettagli consulta la documentazione MDN.

SecFetchUser

La header Sec-Fetch-User indica se la richiesta è stata avviata da un’azione dell’utente. Il valore è solo ?1 (interazione utente presente).
Se usi il middleware SecFetchUser blocchi anche i crawler dei motori di ricerca e gli agenti AI. Non usarlo su pagine pubbliche che devono essere indicizzate.

Esempi di utilizzo nelle rotte

Uso base

Specifica dei valori consentiti tramite parametro

Specifica di più parametri

Senza usare gli alias

Combinare più middleware

Gestione degli errori

Se il valore di una header Sec-Fetch-* non è valido, viene lanciata Symfony\Component\HttpKernel\Exception\BadRequestHttpException. Puoi personalizzare la risposta in bootstrap/app.php.

Relazione con la protezione CSRF

In Laravel 13 il middleware PreventRequestForgery esegue la verifica dell’Origin tramite la header Sec-Fetch-Site come primo passo della protezione CSRF. Questo pacchetto sfrutta le header Fetch Metadata a una granularità ancora maggiore, rafforzando la sicurezza dell’applicazione. Per i dettagli consulta Protezione CSRF.
Per le informazioni più aggiornate consulta la repository su GitHub.
Ultima modifica il 13 luglio 2026