Symfony 6.3

Symfony 6.3


Les Early Hints :


Cette fonctionnalité mise en ligne par HTTP permet à un serveur web d'indiquer aux navigateurs les ressources (fichier CSS, Javscript, ...) à charger avant l'envoi de la réponse complète.
D'un point de vue technique, les Early Hints sont une réponse HTTP avec un code d'état 103 qui contient un ou plusieurs en-têtes HTTP énumérant les ressources à charger ou auxquelles se connecter :
Early hints

Symfony 6.3 supporte maintenant cette fonctionnalité via la méthode sendEarlyHints() définie dans le contrôleur abstrait.

Exemple :
Mise en oeuvre du early hints
Note : le component WebLink component doit être installé.

Source : Early hints


Les NoSuspiciousCharacters :


Valide que la chaîne donnée ne contient pas de caractères utilisés dans les attaques de sécurité par usurpation d'identité, tels que des caractères invisibles comme des espaces de largeur nulle ou des caractères visuellement similaires.
Symfony 6.3 offre la possibilité de vérifier et valider que les chaînes ne contiennent pas de caractères utilisés dans les attaques de sécurité par usurpation d'identité, tels que des caractères invisibles comme des espaces de largeur nulle ou des caractères visuellement similaires.

Étant donné que l'Unicode contient un très grand nombre de caractères et intègre les différents systèmes d'écriture du monde, une utilisation incorrecte peut exposer les programmes ou les systèmes à d'éventuelles attaques de sécurité.
Note : Comme elle utilise le Spoofchecker de PHP, l'extension intl doit être activée pour l'utiliser.

Source : Caractères non suspicieux


Gestionnaire de token OpenID :


Symfony introduit sur cette version une implémentation de la mécanisme d'authentification Access Token Authentificator pour interagir avec les serveurs OpenID Connect.
OpenID Connect (OIDC) est la troisième génération de la technologie OpenID et c'est une API RESTful HTTP qui utilise JSON comme format de données.
OpenID Connect est une couche d'authentification au-dessus du framework d'autorisation OAuth 2.0. Il permet de vérifier l'identité d'un utilisateur final sur la base de l'authentification effectuée par un serveur d'autorisation.

Source : OpenID Connect


Amélioration de la connexion et déconnexion :


Dont le support d'une nouvelle fonctionnalité sur les entêtes HTTP : Clear-Site-Data. L'entête Clear-Site-Data efface les données de navigation (cookies, stockage, cache) associées au site web demandeur.
Il permet aux développeurs web de mieux contrôler les données stockées par un navigateur client pour leurs origines.

Symfony 6.3 a ajouté la prise en charge de cet en-tête HTTP via la configuration de déconnexion de vos pare-feux :
Clear-Site-Data

Source : Connexion / Déconnexion


Ajout de nouveaux attributs :


En remplacement de la définition des exceptions (statut et niveau) dans le fichier de configuration exceptions.yaml (Configuration exceptions), il est possible d'utiliser les attributs #[WithHttpStatus] et #[WithLogLevel] :
Attributs d'exception

Source : Attributs d'exception

Une demande récurrente de fonctionnalité de Symfony au cours des dernières années a été le mappage des données des requêtes entrantes dans des objets typés comme les DTO (objets de transfert de données).
Symfony 6.3 introduit de nouveaux attributs pour mapper les requêtes vers des objets typés et les valider avec l'attibut #[MapQueryString] prend les données de la superglobale PHP $_GET (via la méthode $request->query->all() de l'objet Request de Symfony) et tente de remplir un objet typé donné avec ces données.
De même que l'attribut #[MapRequestPayload] avec les données de la superglobale $_POST.

Source : Mapping DTO