Carnet Wiki

Site Sure

Version 2 — June 2009 Taryck

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