Introduction
Xprotector est un
programme en php pour créer et gérer des rubriques restreintes SPIP . On peut également
gérer des utilisateurs qui ont accès à ces rubriques.
Pour ne pas confondre
les utilisateurs et les auteurs, rappelez-vous qu'un auteur SPIP a accès à
l'administration de votre projet web pour publier des articles. Par contre
un utilisateur des rubriques restreintes est un visiteur de votre page web
qui à accès par un mot de passe aux rubriques restreintes que vous avez
protégez avec Xprotector.
Le projet Xprotector
est hébergé par Sourceforge
et distribuer sous la licence GPL.
Attention!
- Xprotector est toujours en phase beta. Je ne peux pas garantir un fonctionnement à 100%.
- Créer un administrateur ne fonctionne pas sous Windows. Si vous essayez à le faire, vous ne pouvez plus accéeder l'administration. Il faut effacer dans le répertoire Xprotector/admin/ les fichiers .htaccess et .htpasswd.
- Tous les versions avant 1.04b ne fonctionnaient pas avec les versions php < 4.2.0.
- Certaines versions php refusaient d'accepter un correct login dans une rubrique protégée. Ce bug est corrigé dans la version Xprotector 1.0.5b.
- Xprotector ne fonctionne pas avec une version PHP < 4.1.
- Les versions avant 1.0.8 ne sont pas compatible avec MySql >= 4.1
- Il faut que le module Apache mod_rewrite soit installer!!!!
Installation (par étapes)
- Décompressez le fichier
Xprotector-1.0.7.tar.gz (.zip) et faites un upload du répertoire
"Xprotector" via ftp sur le serveur dans le répertoire
principal de l'installation de SPIP. Copier également le fichier .htaccess qui se trouve au dessus du répertoire Xprotector dans le répertoire principal de Spip. Si un tel fichier existe déjà il faut ajouter la ligne suivante dedans:
# pas d'accès directe sur les fichiers interne de spip
#
RewriteRule ^inc-[^\.]*\.php.* - [F]
- Vérifiez si vous avez les
droits pour écrire dans le répertoire /Xprotector/admin.
- Pointez votre browser sur
http://www.mon-site-spip.fr/Xprotector/admin/. Xprotector va créer
quelques tabelles mysql. Si tout va bien vous vous retrouvez dans le
menu Xprotector.
- Il est fortement
recommander à créer un administrateur dans le menu "Admin".
Sinon tout le monde peut accéder le menu Xprotector.
- Pour donner une
protection à vos pages il faut modifier les fichiers php qui
contrôlent les squelettes qui doivent afficher le contenu d'une
rubrique. Ou autrement dit: Les fichiers php qui sont appelés par :
xxxxx.php3?id_rubrique=X
xxxxx.php3?id_article=X
xxxxx.php3?id_breve=X
xxxxx.php3?id_forum=X
Exemple:
Le squelette rubriques.html est contrôlé par le fichier php rubriques.php3.
Ouvrez ce fichier dans un éditeur et collez la ligne suivante dedans:
include("Xprotector/include/Xprotect.php");
Maintenant ce fichier doit se montrer comme suivant:
<?php
include("Xprotector/include/Xprotect.php");
$fond = "rubrique";
$delais = 3600;
include ("inc-public.php3");
?>
Par cette ligne php les rubriques restreintes sont uniquement
accessible par des visteurs enregistrer. Ainsi il faut procéder pour
les autres fichiers php qui doivent afficher du contenu protéger.
Documentation
La distribution des droits d'accès pour les rubriques se fait par
des groupes d'utilisateurs. Vous pouvez joindre plusieurs rubriques à un
groupe. Tous les utilisateurs de ce groupe ont accès à ces rubriques.
Exemple qui explique la relation entre les rubriques,
groupes et visiteurs:
Visiteur "C" peut accéder les rubriques "Y" +
"YB" parce que "C" est un membre du groupe
"HIDE".
Visiteur "B peut accéder les rubriques "Y" + "YB"
+ "YA" + "YAB" parce que "B" est un membre du
groupe "JECKYL".
La rubrique "YAA" ne peut être accéder par personne parce qu'elle
appartient à aucun groupe. Elle n'est même pas accessible si elle n'est pas
sélectionnée dans le menu Home comme restreinte. Il suffit qu'une rubrique
parent soit sélectionnée restreinte et du moment toutes les sous rubriques
le sont automatiquement.
La rubrique "X" est accessible par tout le monde. C'est la seule
rubrique que visiteur "A" peut accéder.
Fontionnement
1. Choisir les rubriques à accès restreint
Dans le menu " Home ", vous devez d'abord choisir les rubriques pour lesquelles vous voulez réserver l'accès à des utilisateurs identifiés.
Attention, xprotector n'inclut pas automatiquement toutes les sous-rubriques. Si vous avez oublié à ajouter une sous-rubrique, elle n'est accessible par personne, donc inutilisable. Vous devez donc choisir toutes les sous-rubriques individuellement pour les rendre accessible.
Dès qu'une rubrique a été sélectionnée pour en restreindre l'accès, cette rubrique n'est plus accessible pour le public.
2. Définir les utilisateurs
Un utilisateur est une personne qui dispose d'un login et d'un mot de passe pour accéder à certaines rubriques. Vous créez les utilisateurs et vous administrez leurs paramètres dans le menu " User/groupes " lien "Administration d'utilisateurs ". Pour créer un nouvel utilisateur appuyez sur le bouton crée.
Définissez au moins autant d'utilisateurs que vous avez de profils différents d'utilisateurs.
3. Créer des groupes et leur donner un accès aux rubriques protégées
C'est au niveau de la définition des groupes que les informations quant aux utilisateurs et aux rubriques protégées (dont l'accès est restreint) seront réunies.
Il faut d'abord définir des groupes dans le menu " User/groupes " lien " nouveau groupe ". Un groupe est un 'regroupement' de personnes qui ont tous accès aux mêmes rubriques protégées. La caractéristique essentielle d'un groupe n'est donc pas tellement sa composition au niveau des utilisateurs, mais les rubriques auxquelles ses membres ont accès.
Ensuite vous devez placer les différents utilisateurs dans les groupes respectifs par le boutton " ajoutez des utilisateurs ".
Pour en finir la procédure il faut distribuer les rubriques sur les groupes. Appuyez sur le bouton " Admin " d'un groupe et ajouter des rubriques pour ce profil de groupe. Si vous ajoutez une rubrique à ce groupe, tous ses membres y ont accès. N'oubliez pas à mettre le statut du groupe sur " actif ", sinon le profil de groupe n'a aucun effet.
Si vous déplacez un membre d'un groupe vers un autre seuls les rubriques auxquels a accès cet utilisateur seront adaptées en fonction des droits du nouveau groupe. Par contre le login et le mot de passe de l'utilisateur déplacé restent inchangés puisqu'ils sont définis au niveau de l'utilisateur.
Vous devez donc créer un groupe d'utilisateurs pour chaque " configuration d'accès ".
Questions
Est-ce que Xprotector modifie l'installation SPIP?
Xprotector se trouve dans le répertoire /Xprotector et va créer pendant
votre première utilisation quelques tabelles dans la même BD ou les
tabelles de SPIP se trouvent. Ces noms de tabelles commencent par
"xp_". Toutes les autres modifications sont fait par vous-même
sur les fichiers php qui contrôlent les squelettes.
Quelle est le degré de protection que Xprotector donne
au contenu des rubriques restreintes?
En ce qui
concerne le contenu qui ce trouve dans la BD, je n'ai pas trouvé un
moyen pour accéder le contenu d'une rubrique restreinte sans login et mot
de passe. Ce qui ne veut pas dire que c'est impossible. Le problème est le
contenu dans le répertoire /IMG. C'est l'endroit ou SPIP met tous les
fichiers qui sont liés à vos documents. Images, PDF, DOC, RTF .... e.t.c.
Ce répertoire est ouvert à tout le monde. Si quelqu'un connaît le nom d'un
fichier il peut aussi le sortir de la.
J'ai crée un groupe et assigner des rubriques et des
utilisateurs mais quand même les utilisateurs n'ont pas accès aux
rubriques?
Pour qu'un
utilisateur puisse accéder une rubrique restreinte il faut qu'il ait le
statut actif et que le groupe ou il se retrouve dedans a le statut actif. Evidemment il faut que la
rubrique restreinte soit assigner au groupe. Et il faut que le browser du visiteur accepte des cookies.
Est-ce qu'on peut effacer definitivement les
utilisateurs qui se retrouvent en poubelle?
Les
utilisateurs qui se retrouvent en poubelle sont effacés automatiquement après
4 heures. De même pour les groupes.
Est-ce que Xprotector fonctionne avec toutes les
versions SPIP?
Xprotector
est testé avec la version SPIP 1.5.2. Xprotector utilise le fichier
"inc_connect.php3" ou "inc_connect.php" dans le
répertoire /ecrire et les information de l'appel de la fonction php "spip_connect_db()". Je ne
sais pas comment ce fichier se présente dans d'autres versions.
Est-ce qu'on peut modifier le layout de la page login?
Oui. Editez
la page /Xprotector/login.tpl. Mais attention! Ne modifiez pas les noms des
éléments du formulaire html.
Est-ce que ça marche avec le cache SPIP?
Oui. Le cache fonctionne comme avant.
Est-ce que ça ralenti mon site?
Pas tellement. Un test sur un PIII 800 avec 10000 utilisateurs distribuer sur 4 groupes a donné un ralentissement de 0.005 secondes.
Comment faire une mise à jour vers une nouvelle version?
Charge la nouvelle version sur celle qui est installée. Fait un login dans le menu d'administration. La mise à jour se fait automatiquement.
J'ai d'autres questions. Je dois m'adresser à qui?
xprotector@open-publisher.net
|