XOOPS 2.0.10 BETA Released

Date 26/03/2005 | Sujet : Versions

L'équipe de développement du noyau de XOOPS présente une nouvelle version dans le développementt de XOOPS.

La beta 2.0.10 de XOOPS est une version de sécurité améliorée qui diminue l'utilisation de la fonction fopen avec les urls et introduit un nouvel outil de sécurisaton des modules contre les attaques CSRF : la classe XoopsSecurity.

Ceci est juste une version beta pour le moment, puisque le système nécessite encore quelques tests. Cependant, les retours positifs sont suffisants pour prévoir une publication de la version finale 2.0.10 dans les semaines à venir.

Xoops 2.0.10 Beta Full (.tar.gz)
Xoops 2.0.10 Beta Full (.zip)
Xoops 2.0.9.3 to 2.0.10 Beta Patch (.tar.gz)
Xoops 2.0.9.3 to 2.0.10 Beta Patch (.zip)

====
XoopsSecurity
====
La nouvelle classe de sécurité génère des routines incluant la vérification du HTTP REFERER et la contamination des variables globales par des requêtes de paramètres.

Elle introduit aussi un système de sécurisation des formulaires contre les attaques CSRF.

Si les attaques CSRF représentent quelque chose d'inconnu, vous pouvez compléter vos connaissances en lisant cet
article gratuit du magazine direction Php de Novembre 2003.

...

Comment cela fonctionne ?

Le jeton est généré à chaque utilisation de champs input dans les formulaires, avec une valeur unique et pratiquement non devinable qui est sauvée sous forme de variable cachée dans la session de l'utilisateur. Quand le formulaire est soumis, la page qui le réceptionne peut vérifier si la valeur du jeton fournie via le formulaire est conforme à la session de l'utilisateur, sinon une erreur se produit.

Comment je peux utiliser ceci dans mon module

Tout dépend de la réalisation de votre module, il existe plusieurs façons de procéder pour implémenter ce système de jeton :

Envoi du formulaire
1) Ajouter un 5° paramètre au constructeur de la classe dérivée XoopsForm - true pour ajouter un jeton et false (default) pour ne pas utiliser le système de jeton dans ce formulaire.

2) Si vous n'utilisez pas les classes XoopsForm, mais écrivez du html directement dans une fichier php ou un template Smarty ; pour récupérer le système de jeton dans votre code html, utilisez $GLOBALS['xoopsSecurity']->getTokenHTML() - ceci retournera le résultat XoopsFormHiddenToken::render() call, prêt à être utilisé dans un fichier php ou assigné à la variable $xoopsTpl pour utilisation dans un template.

Réception du formulaire
Vous pouvez vérifier la validité du jeton en appelant $GLOBALS['xoopsSecurity']->check() - qui retourne true ou false - avant d'autoriser une mise à jour de la base de données ou des actions similaires.

Quand dois-je l'utiliser ?

Vous devez utiliser le système de jeton à chaque fois que vous avez un formulaire qui doit faire des changements dans la base de données. Spécialement si le formulaire concerne des utilisateurs avec des droits privilégiés.

J'utilise le module xxx sur mon site, il n'utilise pas le système de jeton, est-ce dangereux ?

Non pas directement, même s'il y a eu discussion à ce sujet (c'est pourquoi nous construisons ce système de jeton tous ensemble). Si vous contrôlez le http referer (ce que fait xoops par défaut), vous êtes déja protégés des attaques malicieuses du type utilisation d'un formulaire depuis un autre site pour accéder à votre site sous le profil admin
Cependant, contrôler le http referer n'est pas totalement pratique pour vos visiteurs, qui doivent configurer leur firewall pour leur site. Le système de jeton rend votre site moins vulnérable et devrait vous décider à désactiver le contrôle du referer.

Qui dois-je remercier pour que Xoops soit mieux sécurisé ?

La communauté japonaise à qui vous pouvez envoyer vos remerciements, fleurs, chocolats, etc...


Merci à Marco d'avoir participé à cette traduction



Cet article provient de Communauté Francophone des Utilisateurs de Xoops
https://www.frxoops.org

L'adresse de cet article est :
https://www.frxoops.org/modules/news/article.php?storyid=757