Préparez-vous aux nouveaux attributs SameSite et Secure pour les cookies

Traduit automatiquement de Deepl

Les capacités des cookies se sont développées et ont évolué au fil des ans, mais elles ont laissé quelques problèmes en suspens. Pour y remédier, les navigateurs (notamment Safari, Chrome, Firefox et Edge) modifient leur comportement en ce qui concerne les attributs SameSite et Secure pour un modèle sécurisé par défaut pour les cookies.

En tant que développeur Web 4D, vous pouvez être concerné par le cookie de session des sessions Web 4D si vous voulez empêcher votre application de faire l’objet d’une falsification de requête intersite.

Pour éviter que votre cookie de session web ne circule inutilement sur le web ou ne soit mal compris par les navigateurs en raison d’une valeur par défaut appliquée, vous devez vous demander s’il s’agit :

  • un cookie tiers : associé à un nom de domaine différent de celui de la page où le cookie est rencontré. Un cookie tiers est placé par un objet de la page( par exemple, une publicité) provenant d’un domaine autre que celui qui héberge la page

ou

  • un cookie de première partie : associé au domaine de la page.

En fonction de votre cas d’utilisation, vous devez choisir la valeur appropriée pour l’attribut SameSite de votre cookie de session web.

Pour renforcer la sécurité, l’attribut Secure doit être défini pour le cookie de session web lorsque la connexion est sécurisée (HTTPS) pour indiquer au navigateur que le cookie peut être envoyé en toute sécurité.

Continuez à lire pour savoir comment 4D vous soutient pour améliorer la confidentialité et la sécurité sur le Web.

Pour vous permettre de choisir comment votre serveur web doit se comporter, nous avons amélioré l’objet serveur web en ajoutant une nouvelle propriété sessionCookieSameSite.

Définir une valeur d’attribut Samesite

Par défaut, le serveur Web attribue à l’attribut SameSite du cookie de session la valeur« Strict ». Nous avons choisi cette valeur car c’est la plus sûre.

Si vous souhaitez une autre valeur, utilisez la commande WEB Server:

var $webServer; $settings: Object

$settings :=New object()
$webServer :=WEB Server
$settings .sessionCookieSameSite:=Web SameSite Lax

$webServer .stop()
$webServer .start($settings)

Chaque valeur de sensibilité pour l’attribut SameSite est fournie dans le langage 4D avec des constantes spécifiques :

  • Web SameSite Lax = « Lax ».
  • Web SameSite Stricte = « Stricte ».
  • Web SameSite None = « None

Voici un aperçu de ce que vous verrez dans votre navigateur :

et l’attribut secure ?

Si la valeur de l’attribut SameSite est « None », certains navigateurs peuvent exiger que l’attribut Secure soit défini sur une autre valeur pour pouvoir l’envoyer (uniquement si la connexion est HTTPS).

La bonne nouvelle, c’est que le serveur Web 4D gère cela automatiquement.

Si une connexion est HTTPS, le cookie de session est automatiquement défini avec l’attribut Secure, de sorte que les navigateurs l’envoient.

Voici un aperçu de ce que vous verrez dans votre navigateur avec une connexion HTTPS :

blank

Maintenant, travaillons en toute sécurité avec nos applications web et discutons-en sur le forum !

Avatar
- Product Owner - Marie-Sophie Landrieu-Yvert a rejoint l'équipe de 4D Product en tant que Product Owner en 2017. En tant que Product Owner, elle est en charge de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation de la fonctionnalité livrée répond au besoin du client.Marie-Sophie est diplômée de l'école d'ingénieur ESIGELEC et a commencé sa carrière en tant qu'ingénieur chez IBM en 1995. Elle a participé à divers projets (projets de maintenance ou de construction) et a travaillé en tant que développeur Cobol. Elle a ensuite travaillé en tant que concepteur UML et développeur Java. Dernièrement, ses principaux rôles étaient d'analyser et de rédiger des exigences fonctionnelles, de coordonner les équipes commerciales et de développement.