Voilà, voilà... Fin de l'aventure...

 

Fermeture de kolossaldrupal.org dans...


Bonjour tout le monde,

Drupal évolue, les versions changent et Kolossaldrupal.org était essentiellement consacré à la version 6 de Drupal.

Autant dire que les infos présentées ici commencent à dater...

Faute de temps, je ne peux plus garder le site Kolossaldrupal à jour...

Je vous aurais bien proposé de reprendre le flambeau mais... c'est tellement simple de nos jours de se faire son propre site à soi...Pourquoi s'embêter alors ? :-)

Ce site restera donc en l'état, tel qu'il était en 2011...

Ah la la ! Cela ne nous rajeunit pas !

Manuel Vila - Avril 2016

Créer des formulaires sécurisés pour éviter les attaques Cross-site request forgeries (CSRF)

Référence Drupal.org : 4 Février 2009 – 10h22 - http://drupal.org/node/178896


Une attaque Cross-site request forgery (CSRF ou XSRF ) consiste à effectuer une requête vers un site comme si elle venait d’un utilisateur, alors que l’utilisateur n’a pas demandé cette requête. Cela peut se faire de différentes façons, mais il est simple de se prémunir contre ces attaques avec Drupal.

Les spécifications HTTP 1.1 distinguent clairement les requêtes POST qui peuvent modifier des données dans le site (section 9.5) des requêtes GET qui ne doivent pas modifier de données (section 9.3). Les modules qui modifient des données devraient exiger une requête POST (par exemple, dans un formulaire).

Dans les versions de Drupal antérieures à l’annonce SA-2007-017 il était possible de créer des pages spécifiquement conçues qui contenaient des balises image dans  lesquelles l’élément src était un lien vers des menus désactivant les URL d’un site Drupal. Si l’administrateur du site visitait cette page alors qu’il était loggé dans son site, le navigateur effectuait une requête vers cette page, ce qui désavctivait alors les éléments de menu

In versions of Drupal prior to the release of SA-2007-017 it was possible to create a specifically formed page that contained image tags where the image "src" element was a link to certain menu "disable" URLs on a Drupal site. If a site admin visited that page when they were logged into their site then their browser would request the URL of the menu disable page which would then disable their menu items.

Se protéger contre CSRF dans Drupal

L’API Form fournit une protection contre les CSRF par l’ajout automatique de tokens spéciaux dans le formulaire. Si votre module utilise l’API Form pour toutes les requêtes qui modifient des données et si vous suivez correctement la documentation Form API, alors votre module est protégé contre les CSRF.

Code incorrect

Le code incorrect peut être de deux sortes :

  1. Par l’utilisation directe de variables $_POST et par la création de formulaires via HTML au lieu de passer par l’API Form de Drupal
  2. Par l’utilisation d’un lien et d’un menu appelant l’action qui modifie les données (notamment les actions destructrices comme la suppression de données)

Vous pouvez voir un exemple de mauvais code et sa correction dans Drupal Core CSRF vulnerabilities fixed in 5.2

Code correct

Voir la documentation de l’API Form.

Liens utiles

http://fr.wikipedia.org/wiki/Cross-Site_Request_Forgeries