Carnet Wiki

Site Sure

Version 3 — Juin 2009 Maïeul

Introduction

On le sait, la gestion des droits dans SPIP est à parfaire loin s’en faut. Ce plug-in n’a pas pu atteindre ses objectifs de ce fait.
En attendant une refonte complète, voici un plug-in pour sécuriser votre site.

Objectifs

Permettre aux administrateurs non restreint à une rubrique de pouvoir faire tout sauf ce qui pourrait être dangereux tel que :
-  gestion plug-in
-  retirer droit administrateur aux webmestres
-  effacer la base
-  gérer les paramètres techniques
-  ...

Fonctionnement

Le fonctionnement est assez simple, ne pouvant créer un nouveau niveau supérieur au niveau administrateur et ne pouvant créer un niveau entre l’administrateur total et l’administrateur restreint à une rubrique du aux adhérence dans le code SPIP.
Pour vous en convaincre cherchez « 0minirezo » dans le code SPIP et vous verrez qu’il n’est pas qu’a un seul endroit.

Passé ce constat frustrant, l’idée est de s’appuyer sur l’existant à savoir l’identification des webmestres via le code :

Le plug-in fonctionne en redéfinissant la fonction autoriser c’est donc sont seul point d’adhérence avec d’autres plug-in.

Si vous étés webmestre, tout vous est ouvert, sinon si vous accédez aux fonctionnalités interdites cela vous est refusé. Pour les autres cas le processus normal est utilisé.

switch($faire) {
		case "modifier";  
			switch($type) {
				case "auteur";
				  $v = var_export($opt["statut"],true);
				  spip_log($v);
				  if ( isset($opt["statut"]) ) {
				  	if ($opt["statut"] == Auteur_Statut_Root) {
							$a = false;
				  	}
				  }
					break;
			}
			break;
		case "detruire";  // Effacer la base de donnée
			$a = false;
			break;
		case "configurer";
			switch($type) {
				case "admin_tech";
					$a = false;
					break;
				case "lang";
					$a = false;
						break;
				case "plugins";
					$a = false;
					break;
				case "admin_plugin";
					$a = false;
					break;
				case "fonctions";
					$a = false;
					break;
			}
	}

Le plug-in

Ver 0.1