veilletech.fr
27 sept. Feed du jour
#04 LARAVEL Article

Filament 5.9 : la CSP se passe d'unsafe-inline

Un nonce par requête, et le script inconnu reste dehors.

Filament 5.9.0 permet d'ajouter un nonce CSP à tous les scripts qu'il produit, et donc de retirer 'unsafe-inline' de script-src. L'option est désactivée par défaut et ne couvre pas les styles, dont Livewire, Alpine et TipTap ont besoin. La version apporte aussi des aides de test pour les imports et exports.

1 min de lectureintermédiairevidéo 1:20
Partager
Sommaire5 sections
  1. Ce qui se passe
  2. Comment s'y prendre
  3. Les limites
  4. Le reste
  5. À retenir

Ce qui se passe

Filament v5.9.0, publiée le 26 septembre, peut poser un attribut nonce sur chaque script qu'elle affiche. Une application qui envoie une Content Security Policy peut alors retirer 'unsafe-inline' de script-src, la directive qui laisse passer tout script en ligne, injecté compris.

Comment s'y prendre

La façade FilamentCsp reçoit la fonction qui fournit le nonce de votre politique, par exemple dans le boot() d'un fournisseur de services :

PHP
FilamentCsp::useNonce(static fn (): string => csp_nonce());

csp_nonce() désigne ici le nonce généré par votre propre middleware CSP. Il est résolu une fois par requête. Pour vos gabarits et ceux des plugins, \Filament\Support\csp_nonce() renvoie la valeur, csp_nonce_html() l'attribut complet.

Les limites

Le reste

Les deux branches gagnent des aides de test pour les imports et les exports, des générateurs de contenu riche et Markdown, enum() sur ImportColumn et une recherche dans le sélecteur de blocs.

Source : Filament v5.9.0, GitHub, 26 septembre 2026, et PR #20301.