ZwiiCMS 13 est disponible

Pourquoi Zwii 13 ?

Cette évolution majeure tient compte d’un constat implacable, le manque de sécurisation du CMS dans les versions précédentes et ceci jusqu’avant la version 12.4

Zwii 12.4 corrige une partie de ces vulnérabilités, malheureusement de manière insuffisante. À ce jour, Zwii 13 n'étant pas encore disponible, je ne donnerai pas d'exemple des vulnérabilités. Il faut juste savoir qu'un utilisateur non connecté peut réaliser une certain nombre d'actions sur la configuration du site. Toutes les versions antérieures et les éventuels fork comme Delta CMS souffrent des mêmes vulnérabilités.

Je rappelle d'ailleurs que désormais la licence ne permet plus de distribuer un fork de Zwii. Bien évidemment, vous pouvez bidouiller Zwii et apporter des modifications dans le code sans pour autant les diffuser.

Zwii 13 est développé depuis quelques mois, c’est en testant le fonctionnement des nouveaux profils d’utilisateurs que les faiblesses sont apparues. On peut imaginer que des hackeurs aient mis la main sur ces mêmes vulnérabilités, voilà pourquoi le développement de Zwii 13 est devenu une priorité.

Le but de cette version 13 est de s'assurer que les rôles sont strictement respectés et qu'aucune action sur la configuration est possible sans avoir été autorisée.

Rappel des rôles dans Zwii

Les rôles correspondent à des groupes d'utilisateurs. Qu’ils disposent d’un compte ou pas, les utilisateurs de Zwii sont répartis dans des groupes fixes. Les groupes sont identifiés par des constantes et un nom explicite qui est listé dans la gestion des utilisateurs.

Il y a quelques années, un module proposait de créer un nouveau groupe, les adhérents. Ce groupe n’autorisait pas l’édition du compte et la modification du mot de passe. Les nouvelles dispositions de profil éliminent la nécessité de créer des groupes supplémentaires.

Utilisateur banni : 

  • il dispose d’un compte inactivé ;
  • la constante du groupe est -1.

Visiteur : 

  • il ne dispose pas d’un compte, tout accès au CMS hors connexion est identifié par ce rôle ;
  • la constante du groupe est 0.

Membre :

  • le membre dispose d’un compte ;
  • ce compte lui donne accès aux pages privées ;
  • la constante du groupe est 1.

Éditeur ou modérateur :

  • le membre dispose d’un compte ;
  • ce compte lui donne accès à des fonctions d’édition du contenu du site ;
  • ce compte ne lui donne pas accès aux fonctions d’administration du site, la configuration, la gestion des utilisateurs, le thème, les plugins (extensions ou modules), les langues du site ;
  • Il peut disposer d’un accès à un dossier partagé ;
  • la constante du groupe est 2.

Administrateur : 

  • ce compte dispose de tous les droits sur le site ;
  • la constante du groupe est 3.

Les profils de groupes

Les profils sont une nouveauté introduite par Zwii 13, ils définissent précisément les droits des membres et des éditeurs. Les deux groupes restrictifs, visiteurs et bannis ne sont pas concernés, car ils ne disposent d'aucun droit, ni d’ailleurs le groupe des administrateurs qui disposent de toutes les permissions.

En quelque sorte, les profils sont des sous-groupes. 

Dans une installation vierge ou après une mise à jour, quatre profils sont créés. Il est possible d'éditer et d'ajouter autant de profils que nécessaire et bien sûr de supprimer un profil, dans la mesure où il n'est pas affecté.

Profils proposés par défaut lors de la mise à jour :

Membre simple (profil 1) :

Le membre simple dispose des mêmes droits que le membre standard, l’accès unique aux pages privés.

Membre (profil 2) :

Le membre accède aux pages réservées et à un dossier partagé.

La sélection du dossier partagé s’effectue dans la définition du profil, ce n’est pas le seul réglage, il est désormais possible de définir précisément les autorisations sur les fichiers et les dossiers : 

Ce n’est pas le seul paramètre, la permission d’éditer les paramètres du compte est proposée. Une fois l’option décochée, les membres associés à ce profil ne pourront plus éditer le compte utilisateur et changer le mot de passe. Ce profil devient équivalent au groupe adhérent proposé jadis dans le cadre d'un module, ce qui est idéal pour les associations.

Profils des éditeurs ou modérateurs (code 2) 

L’éditeur dispose des droits d’édition des pages, dans les faits, il a la capacité de disposer de tous les droits d’édition à l’exception des droits qui sont réservés à l’administrateur. Le modérateur peut bénéficier des mêmes droits que les membres sur les fichiers et les dossiers.

Éditeur simple (profil 1)

Ce rôle est limité à la création de contenu texte, il peut agir sur le contenu des pages, des blogs et des news :

Il peut éditer son propre compte, gérer les fichiers d’un dossier partagé, mais de dispose pas de droits sur les dossiers :

Le rédacteur (profil 2)

Il dispose de tous les droits d’édition des pages, de création et de suppression. Il peut également gérer tous les modules.

Au niveau des fichiers, il ne peut pas gérer les dossiers contenus dans le dossier de partage.

L’administrateur (code 3)

Par défaut, l’administrateur dispose de tous les droits sur le site.

Ces permissions ne sont pas partagées avec les autres profils :

  • la configuration
  • les utilisateurs
    • les groupes et les permissions
  • le thème
  • les langues

Cas particuliers

Quand un module est installé et que les droits ne sont pas proposés dans le profil. C'est le groupe qui détermine les autorisations selon ce que le programmeur du module a défini dans les actions de la classe du module. Le membre du groupe conserve alors tous les droits qui ont été attribués au groupe des éditeurs.

Après l'installation de Zwii 13 ?

Les profils par défaut sont affectés aux membres des groupes, membre simple et éditeur simple. Tant que l'administrateur n'ajuste pas les permissions, elles sont identiques à un Zwii standard.

Les autres fonctionnalités de Zwii 13

- Améliore la gestion de la base de données et la génération du fichier de journalisation, stockage des données JSON, forçage au format objet.
- Erreurs fictives pendant la mise à jour en ligne, améliorations du dialogue AJAX entre PHP et JQUERY avec un affichage précis des erreurs.
- L'ajout d'une langue de contenu initialise les données de la langue.
- Format d'image avif si supporté par la version installée de php.
- Remplacement du service ScreenShot API par un sélecteur manuel ; affiche les paramètres d'images recommandées et ceux de l'image sélectionnée.
- Nouvelles options de page qui autorise un déplacement latéral dans la hiérarchie du menu à l'aide de deux boutons personnalisables parmi 3 modèles :

Corrections

- Correction de bugs mineurs dans la sauvegarde et la suppression des modules installés.
- Problèmes de mise à jour depuis les versions 11.
- Dépréciations liées à php 8.n

 

 

Zwii - 03 septembre 2023 14:10  - 

Gérer les cookies

Ce site utilise des cookies nécessaires à son fonctionnement, ils permettent de fluidifier son fonctionnement par exemple en mémorisant les données de connexion, la langue que vous avez choisie ou la validation de ce message.



Consulter les mentions légales