Sabre 0.8.0 par Dlo 

Plugin Name: SABRE
Plugin URI: http://didier.lorphelin.free.fr/blog/index.php/wordpress/sabre/
Description: Simple Anti Bot Registration Engine
Version: 0.8.0
Author: Didier Lorphelin
Author URI:
Copyright :Sabre est dit sous licence GPL


1. A quoi a sert ?

Sabre est l'acronyme de Simple Anti Bot Registration Engine.
Il s'agit d'un ensemble de mesures destines  protger le blog de l'inscription automatique par des robots de spam.

Vous avez laiss la possibilit  vos visiteurs de sinscrire sur votre blog et vous vous retrouvez envahi de faux utilisateurs crs automatiquement par des spammeurs ? Sabre est la solution pour stopper dfinitivement ces visiteurs non humains !

Liste des fonctions disponibles:

- Ajout dun captcha dans le formulaire dinscription 
- Slection de la complexit du captcha
- Slection de la couleur de fond de l'image du captcha 
- Ajout dun test de calcul dans le formulaire dinscription 
- Slection de la complexit du calcul 
- Possibilit de choisir le test  afficher ou de laisser le hasard dcider 
- Tests non obstrusifs de dtection dinscription humaine ou non 
- Blocage de linscription si Javascript non support par le navigateur 
- Blocage de linscription si ladresse IP du visiteur est sur des listes de bannissement
- L'administrateur du blog peut valider les inscriptions 
- L'utilisateur peut valider son inscription en cliquant sur un lien envoy par mail 
- Nombre de jours modulable pour valider linscription sur le blog par l'utilisateur. Pass ce dlai et faute de - confirmation, le compte cr devient inutilisable 
- Empcher la connexion avec le compte cr en attendant la confirmation de l'utilisateur
- Permettre  lutilisateur de choisir son mot de passe  linscription
- Demander  l'utilisateur de confirmer son accord sur les conditions d'utilisation du blog
- Demander  l'utilisateur de saisir un code invit 
- Affichage des statistiques de Sabre sur le tableau de bord du blog
- Logo ou bannire personnel sur l'cran de connection/inscription
 
Toutes ces fonctions sont actives par paramtrage. Sabre sadapte donc  la stratgie de protection de votre blog.



2. Prrequis

    * WordPress: Sabre requiert l'utilisation de WP 2.5 (ou suprieur). Il n'est pas compatible avec les versions antrieures de WordPress.
    * Pour les versions de WordPress jusqu' la 2.3.3, utiliser Sabre 0.6.3.

3. Installation

   1. Tlcharger le fichier compress.
   2. Dcompresser et copier tous les fichiers du rpertoire /sabre (y compris les sous-rpertoires) dans le rpertoire wp-content/plugins/sabre de WordPress.
   3. Le fichier sabre-fr_FR.mo qui se trouve dans le rpertoire "languages" permet d'avoir la version franaise de Sabre. Pour localiser Sabre dans une autre langue, crer un fichier sabre-codelangue.po  partir du fichier sabre.pot avec PoEdit. Vous pouvez galement trouver des fichiers de traduction (.mo et .po) en diverses langues sur la page des questions frquentes de Sabre.
   4. Activer Sabre en cliquant sur l'option "Activer" du plugin list dans l'onglet Plugins du panneau d'administration.

En cas de mise  jour d'une version antrieure, ne pas oublier de commencer par dsactiver Sabre avant d'craser les fichiers existants avec les nouveaux. Ensuite, ractiver le plugin pour que Sabre puisse faire les mises  jour ncessaires.

4. Documentation

L'intgralit des fonctions de Sabre se retrouvent dans l'onglet Outils/Sabre du panneau latral d'administration.

L'interface de Sabre est divise en cinq onglets :
1) Onglet "Options gnrales"

On y trouve quelques informations chiffres sur le nombre d'inscriptions valides, invalides et en attente de confirmation.

Les options de paramtrage de Sabre:

1a) Options du Captcha

Cliquer sur la case  cocher "Activer le captcha" pour ajouter l'affichage, dans le formulaire d'inscription , d'une chane de caractres que l'utilisateur devra recopier.
Les autres paramtres du captcha permettent de dfinir la longueur de la chane de caractres gnre, les caractres autoriss ainsi que le nombre et le type des objets graphiques qui vont "masquer" la chane.
Le captcha est bas sur QuickCaptcha 1.0 de Web 1 Marketing, Inc sous licence GNU GPL.

1b) Options du test de calcul

Cliquer sur la case  cocher "Activer le test mathmatique" pour ajouter l'affichage, dans le formulaire d'inscription , d'une opration dont l'utilisateur devra donner le rsultat.
L'autre paramtre permet de dfinir les oprations qui pourront tre utilises. Les oprations autorises sont l'addition, la soustraction et la multiplication. Le plugin choisit au hasard deux chiffres compris entre 1 et 20 et une des oprations autorises.

1c) Squence des tests

Choisir "Tous" pour ajouter tous les tests actifs au formulaire d'inscription.
Choisir "Au hasard" et le plugin choisira alatoirement l'un des tests actif ou non.

1d) Options furtives

Cliquer sur la case  cocher "Activer le test furtif" pour activer une srie de tests internes qui tenteront de dterminer si l'inscription est bien faite par un humain. Ces test n'interagissent pas avec l'utilisateur et passeront inaperu dans le cas d'un enregistrement fait par une personne "normale".
Ces tests inclus:
- Contrle que le formulaire est bien charg avant de recevoir la rponse.
- Contrle que l'adresse IP ne change pas entre l'envoi et la rception du formulaire.
- Contrle que le navigateur utilis supporte le Javascript car beaucoup de robots de spam n'ont pas cette capacit. Il est possible de refuser l'inscription dans ce cas en cliquant sur la case  cocher "Bloquer si Javascript non support".
- Contrle que le support du Javascript n'est pas simul.
- Contrle que l'inscription est termine dans un temps maximum. Il est possible de modifier cette valeur (en seconde) dans "Expiration de session". Veiller  maintenir cette valeur aussi petite que possible pour des raisons de scurit mais suffisante pour qu'une personne puisse remplir le formulaire avant d'expiration du dlai. Valeur par dfaut : 5 minutes (300 secondes).
- Contrle que le formulaire est rempli par un tre humain qui doit passer un certain temps dessus. Les robots de spam sont bien sr beaucoup plus rapide qu'un homme pour remplir un formulaire et l'envoyer. On dcide donc du temps minimum (en secondes) qu'il faut pour le remplir dans "Vitesse maxi". Valeur par dfaut : 5 secondes.
- Contrle que l'adresse IP n'est pas bannie par des serveurs DNSBL. Il est possible d'activer ce contrle en cliquant sur la case  cocher "Vrifier DNS Blacklists". 

1e) Options de la confirmation d'inscription

Slectionner l'option voulue dans la liste droulante "Activer la confirmation" pour obliger l'utilisateur ou l'administrateur  confirmer la demande d'inscription.

- Aucune: Pas de confirmation demande.
- Par l'utilisateur: L'utilisateur doit confirmer son inscription. Quand cette option est active, l'utilisateur qui s'inscrit reoit son identifiant et son mot de passe par mail comme d'habitude. Il lui est demand en plus de confirmer son inscription avant x jours en cliquant sur un lien ajout au mail. Pendant le dlai de grce, le compte de l'utilisateur est en attente de confirmation mais il peut se connecter au blog. S'il n'a pas confirm son inscription dans le dlai imparti, il lui sera impossible de se connecter avec son compte.
- Par l'administrateur: L'administrateur du blog doit confirmer l'inscription. Quand cette option est active, l'utilisateur qui s'inscrit reoit son identifiant et son mot de passe par mail comme d'habitude. Tant que son inscription n'est pas valide par l'administrateur, le compte ne peut pas tre utilis pour se connecter au blog. Ds validation de son inscription par l'administrateur, l'utilisateur reoit un mail de confirmation.

Les trois paramtres suivants sont utiliss seulement si la confirmation doit tre faite par l'utilisateur.
  
"Nombre de jours" permet de fixer le dlai maximum de confirmation (en jour) avant dsactivation du compte.
En cliquant sur la case "Interdire l'utilisation anticipe", l'utilisateur devra confirmer son inscription avant de pouvoir se connecter.
Pour recevoir un mail quand un utilisateur confirme son inscription, il faut cliquer sur la case "Envoyer un mail si confirmation".

Pour supprimer automatiquement le compte utilisateur quand l'inscription est annule, il faut cliquer sur la case "Supprimer les utilisateurs non enregistrs". Cette option sera prise en compte lors d'une dsinscription manuelle ou quand le dlai de confirmation sera dpass. Il faut garder  l'esprit que les articles et liens crs par cet utilisateur seront supprims en mme temps. 

A NOTER : Les utilisateurs ayant la capacit "edit_users" ne sont pas soumis au contrle de confirmation de leur compte. Il sera donc toujours possible de se connecter avec le profil admin cr par dfaut  l'installation de WordPress.

1f) Options des conditions d'utilisation
Cliquer sur la case  cocher "Activer l'accord d'utilisation" si vous voulez demander  l'utilisateur de confirmer son accord sur les conditions d'utilisation du blog lors de son inscription.

Taper le titre du texte dans la zone "Nom de l'accord". Exemple: Avertissement, Conditions Gnrales, Accord de licence, etc...

Taper le texte de l'accord dans la zone "Texte de l'accord". Les balises HTML ne sont pas admises.

1g) Options des codes d'invitation
Cliquer sur la case  cocher "Activer les invitations" si vous voulez contrler les personnes qui peuvent s'inscrire sur le blog en demandant  l'utilisateur de saisir un code invit lors de son inscription.

Taper le/les codes invit valides dans la zone "Codes invit". Exemple: PROMOETE2008, SZ78PQR, etc...
Chaque code doit se trouver sur un ligne diffrente. Il ne vous reste plus qu' communiquer le code aux personnes choisies pour qu'elles puissent l'utiliser pour s'inscrire.

1h) Options diverses
Cliquer sur la case  cocher "Mot de passe de l'utilisateur" si vous voulez laisser le choix du mot de passe  l'utilisateur lors de son inscription. Dans le cas contraire, WordPress gnrera un mot de passe alatoire.

Cliquer sur la case  cocher "Inclure la bannire" pour ajouter une rfrence et un lien vers le site de Sabre au bas du formulaire d'inscription. C'est  vous de dcider si vous voulez faire de la publicit pour Sabre !

Cliquer sur la case  cocher "Afficher sur le tableau de bord" pour ajouter un widget sur le tableau de bord de votre blog avec les principales statistiques de Sabre.

Cliquer sur la case  cocher "Supprimer Sabre" si vous voulez supprimer toutes les informations cres par Sabre (table et options) quand le plugin est dsactiv.
ATTENTION : N'utilisez cette option que si vous avez dcid de ne plus utiliser Sabre ou si vous dsirez purger compltement la table et restaurer toutes les options par dfaut.

NE PAS OUBLIER DE SAUVEGARDER LES OPTIONS APRES LES AVOIR MODIFIEES EN CLIQUANT SUR LE BOUTON "ENREGISTRER LES OPTIONS"

2) Onglet "Inscriptions bloques"

Liste des inscriptions non valides avec la cause du refus. Le nombre d'inscriptions refuses depuis votre dernire visite est indiqu entre parenthses dans l'onglet.

Il est possible de supprimer l'historique en tapant le nombre de jour de rtention (20 jours par dfaut) et en appuyant sur "Supprimer". Il est galement possible de demander  Sabre de faire cette suppression automatiquement avec la mme frquence en cliquant sur la case  cocher. Un nombre de jours infrieur ou gal  zro avec la case  cocher slectionne suspendra le mnage automatique de Sabre.

3) Onglet "Inscriptions autorises"

Liste des inscriptions acceptes dfinitivement (statut = ok). L'identifiant de l'utilisateur cr est affich et permet d'accder directement  sa fiche en cliquant dessus. Le nombre d'inscriptions acceptes depuis votre dernire visite est indiqu entre parenthse dans l'onglet.

Il est galement possible d'inscrire manuellement un utilisateur WordPress existant en donnant son nom ou l'ensemble des utilisateurs dj crs en cliquant la case  cocher et en appuyant enfin sur le bouton "Ajouter".

Pour supprimer l'inscription d'utilisateurs, slectionner-les dans la liste en cliquant sur les cases  cocher correspondantes puis sur le bouton "Dsinscrire".

4) Onglet "Inscriptions  confirmer"

Liste des inscriptions en attente de confirmation (statut = to confirm). L'identifiant de l'utilisateur cr est affich et permet d'accder directement  sa fiche en cliquant dessus. Le nombre d'inscriptions  confirmer depuis votre dernire visite est indiqu entre parenthse dans l'onglet.

Deux boutons sont disponibles quand la confirmation est  faire par l'administrateur du blog:

La confirmation des inscriptions se fait en slectionnant les comptes dans la liste et en appuyant enfin sur le bouton "Confirmer".

Le refus des inscriptions se fait en slectionnant les comptes dans la liste et en appuyant enfin sur le bouton "Refuser".

5) Onglet "A propos"

Un texte plein de profondeur sur l'auteur et son oeuvre. Une lecture passionnante  ne manquer sous aucun prtexte !

6) Bannire ou logo personnel sur l'cran de connection/inscription

Pour remplacer l'image par dfaut, copier votre propre fichier dans le rpertoire /images du plugin Sabre. Le fichier doit tre une image de 290pixels x 66pixels au format GIF et s'appeler sabre-login.gif

7) Historique
v. 0.8.0
     Ajout des codes d'invitation  saisir lors de l'inscription
     Possibilit d'avoir un logo personnel sur la page de connection/inscription pour remplacer le logo par dfaut
     Mise en compatibilit avec la version 2.7 de WordPress
     Rcriture complte du plugin en programmation objet
     Gestion du pluriel dans les messages
           
v. 0.7.4
     Correction d'un bogue dans le mnage automatique des historiques. Il est maintenant possible d'empcher Sabre de le faire en saisissant une valeur ngative ou nulle comme nombre de jours de rtention.

v. 0.7.3
     Ajout d'un paramtre pour choisir la couleur du fond de l'image du captcha.
     Ajout d'un paramtre pour demander  l'utilisateur d'accepter les conditions d'utilisation du blog lors de l'inscription.
     Mise en compatibilit avec la possibilit offerte par WordPress 2.6 de localiser le rpertoire wp-content dans un endroit personnel.

v. 0.7.2
     Ajout d'un paramtre pour permettre  l'administrateur du blog de valider les inscriptions.
     Rvision de l'interface d'administration pour grer les confirmations
     Ajout d'un onglet "Inscriptions  confirmer"

v. 0.7.1
     Ajout d'un paramtre pour afficher les statistiques de Sabre sur le tableau de bord du blog.
     Ajout d'un paramtre pour laisser l'utilisateur choisir son mot de passe lors de l'inscription.

v. 0.7.0
     Cette version n'est compatible qu'avec WordPress 2.5 et ne peut tre utilise avec des versions antrieures.
     Refonte complte du panneau d'administration avec le nouveau design de l'administration de WordPress.
     L'inscription manuel d'un utilisateur existant se fait maintenant en donnant son nom au lieu de son ID car celui-ci n'est plus affich dans WordPress 2.5.
     Ajout d'un paramtre pour envoyer un mail  l'administrateur en cas de confirmation d'inscription. 
 
v. 0.6.3
     Mise  jour pour la version 2.3.3 de WordPress

v. 0.6.2
     Ajout d'un paramtre pour contrler si l'adresse IP est bannie par des serveurs DNSBL.

v. 0.6.1
     Modification de la structure de la table de Sabre car certaine version de MySql n'autorise pas les valeurs par dfaut pour les colonnes de type text. Ceci peut empcher la cration de la table durant l'initialisation de Sabre.

v. 0.6.0
     Ajout d'un paramtre pour supprimer automatiquement le compte utilisateur quand son inscription est annule. 
     Ajout d'un paramtre pour faire figurer une rfrence  Sabre au bas du formulaire d'inscription.
     Ajout d'un paramtre pour fixer la priode de nettoyage automatique de l'historique.
     Ajout d'un paramtre pour supprimer toutes les informations de Sabre quand le plugin est dsactiv. Ceci nettoiera votre blog WordPress de toute rfrence  Sabre si vous dcidez de ne plus l'utiliser.
     Amlioration des performances en n'effectuant pas les tests si des erreurs ont dj t dtectes avant l'appel de Sabre (par exemple, le nom ou l'adresse mail non renseigns).
     Amlioration des performances par optimisation du code.
     Scurit renforce de l'accs aux crans d'administration de Sabre par l'utilisation de la fonction wp_nonce_field. 

v. 0.4.2
     Correction d'un bogue dans la sauvegarde du nombre de jours pour la confirmation d'inscription.

v. 0.4.1
     Ajout d'un paramtre pour interdire l'accs au blog avant confirmation de l'inscription. Ajout de la possibilit d'inscrire automatiquement tous les utilisateurs crs. Ajout de messages pour informer du rsultat des actions faites pendant l'administration de Sabre.

v. 0.4.0
     Ajouts de  divers tests non obstructifs pour renforcer l'efficacit de Sabre. Ces tests comprennent:
- Contrle que le formulaire est bien charg avant de recevoir la rponse.
- Contrle que l'adresse IP ne change pas entre l'envoi et la rception du formulaire.
- Contrle que le navigateur utilis supporte le Javascript car beaucoup de robots de spam n'ont pas cette capacit.
- Contrle que le support du Javascript n'est pas simul.
- Contrle que l'inscription est termine dans un temps maximum.
- Contrle que le formulaire est rempli par un tre humain qui doit passer un certain temps dessus.
Les profils qui ne sont pas soumis au contrle d'inscription sont tests sur leur droit "edit_users" et non plus sur leur niveau. Ceci permet d'assurer que tous les profils avec des droits levs peuvent se connecter aprs l'installation de Sabre.

v. 0.2.2
     Optimisations et dcoupage du source en plusieurs fichiers pour diminuer la charge serveur. Amlioration du nettoyage automatique.

V. 0.2.1
     Ajout de la fonction "Random" pour prsenter alatoirement le test ajout au formulaire d'inscription. Ajout de la suppression manuelle de l'historique.

V. 0.1.1
     Premire version publique