SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

289 Plugins, 197 contribs sur SPIP-Zone, 129 visiteurs en ce moment

Accueil > Auteurs, authentification et autorisations > Archives Auteurs et Authentification > Comment protéger par mot de passe des rubriques ou des articles

Comment protéger par mot de passe des rubriques ou des articles

11 septembre 2003 – par Michael Courcy – 140 commentaires

5 votes

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Comment sans bidouiller dans le noyau de Spip on peut à l’aide des mots clés des boucles et de php placer des articles et des rubriques en acces protégé.

Introduction : protéger son site avec SPIP

Restreindre l’accès à certaine partie de son site semble un besoin récurrent des webmasters de sites sous SPIP. Plusieurs solutions existent, la plus classique étant celle expliquée (un peu succintement) sur le site officiel qui permet de réserver certaines parties du site aux seuls membres authentifiés (rédacteurs ou visiteurs enregistrés). Ici nous allons détailler une autre méthode, à l’aide des mots clés, qui est loins d’être parfaite, mais qui suffira largement dans la plupart des cas simples.

Qu’est-ce que cette contrib permet de faire ?

Permettre aux administrateurs du site de placer certains articles
ou certaines rubriques en accès par mot de passe.

On pourra avec ceci créer autant de mots de passe que l’on voudra.
Protéger la rubrique les saucisses avec le mot de passe sauciflon sec
et la rubrique jambon avec le mot de passe jamblon sec.

Je protégerai pas mon compte en banque avec mais ça risque d’être suffisant pour la plupart
des besoins.
Plus precisement, allez voir un peu plus loin dans l’article : Les limitations du systeme.

C’est surtout très facile a mettre en place.

Installation

moins de 5 minutes
-  Décompresser acces.zip et installer controle_acces_rubrique.html controle_acces_rubrique.php3
controle_acces_article.html controle_acces_article.php3 FA2.php3 et enregistre_session2.php3 à
la racine de votre site.

-  Créer un groupe de mot clé que vous appelerez « acces multiple »,vous cocherez les bonnes cases
pour que ce groupe ne soit accessible qu’aux administrateurs et puissent être associés aux articles et
aux rubriques.

-  Notez soigneusement le numéro id_groupe de ce groupe de mots clés, vous en avez impérativement
besoin !!! nous le nommerons désormais <votre id_groupe>
(attention ne confondez pas id_mot avec id_groupe)

-  dans ce groupe créer 2 mots « sauciflon sec » et « jamblon sec »

-  puis au TOUT DÉBUT (cad à la premiere ligne au premier caractère) de article.html
placer ce code.

<INCLURE(controle_acces_article.php3){id_groupe=<votre id_groupe>}{id_article}>

-  puis au TOUT DÉBUT (cad à la premiere ligne au premier caractere) de rubrique.html
placer ce code.

<INCLURE(controle_acces_rubrique.php3){id_groupe=<votre id_groupe>}{id_rubrique}>
  1. Choisissez un article ou une rubrique de votre choix , associez le mot « sauciflon sec » et cliquez
    sur aller voir en ligne. Rentrer « sauciflon sec » dans le Formulaire d’Accès (FA) et si tous se passe bien votre article
    ou votre rubrique apparaît.

Et voila c’est fini

Et pour les courageux voici

Les Explications

Nous présenterons ce travail en deux temps

-  Temps 1 : on implémentera un accès restreint pour les articles seulement
car c’est plus facile.
-  Temps 2 : En se servant de ce qui a été fait au temps 1
on implémentera l’accès restreint pour les rubriques, ce qui exige une démarche
d’acquisition des informations qui peuvent être éventuellement présentes
dans les rubriques parentes.

Temps 1

-  controle_acces_article.html

Attention il ne doit y avoir aucun espace entre le début du fichier et ce script
car on fait appel à la fonction header qui ne peut être appelé que si aucune information
n’a été expédié au navigateur avant son invocation.

-  Le FA ou Formulaire d’Accès

Il est sans mystère voici son code FA2.php3
Il va collecter un mot de passe qui sera envoyé à un script de contrôle et d’enregistrement

-  Puis le script d’enregistrement

enregistre_session.php3

Ce script récupère la demande d’enregistrement qui est une variable de session qui contient le titre
du mot clé. Puis il compare cette valeur avec le mot de passe entré dans FA2.php3 si celui-ci est
bon il crée la variable de session $acces qui contient la date à laquelle l’utilisateur s’est enregistré

Et voila l’affaire est dans le sac si vous m’avez lu jusque
la je félicite votre patience :)

Temps 2 : généralisations aux rubriques

La généralisations aux rubriques est un peu plus subtile car il faut
pouvoir gérer les problèmes d’acquisition (qui sont très bien gérées dans Zope par ailleurs)

En effet si une rubrique se trouve être la sous rubrique d’une rubrique en accès par mot de passe
elle doit pouvoir hériter de ses propriétés. Tous les articles d’une telle rubrique aussi.

Ce qui va se résoudre à coup de boucle hiérarchie.

controle_acces_rubrique.html

et on fait pareil avec controle_acces_article.html

Limitations du système

-  Un accès par http://mon_site.org/mot.php3?id_mot=XX permet de deviner le mot de passe en incrémentant simplement XX à partir de 1, sur un site contenant peu de mots clés, facile de le trouver, pour remedier à cela il faut supprimer le couple de fichiers mot.php3/mot.html, et y repenser en cas de mise à jour de SPIP.
Ou alors dans le squelette mots.html modifier la Boucle MOTS : <BOUCLE_de_mots(MOTS){les criteres deja present}{id_groupe!=<groupe  des codes secret>}>

-  Il faut s’assurer que les divers squelettes alternatifs ou récapitulatifs (backend, resume, nouveautes, /oo, imprimer, plan, recherche, etc...) n’afficheront pas d’articles qui exigent un mot de passe. C’est très frustrant pour un visiteur de se faire présenter une liste d’articles dont on lui refuse l’accès. Pour cela il faudra exclure les articles correspondants :
Par exemple a l’aide d’une première boucle et du critère doublons :

-  Il faut penser à ajouter quelques directives dans son fichier robots.txt pour que Google et compagnie n’indexent pas des articles accessibles par mot de passe.

Ouf, quel travail pour protéger quelques articles !

Dernière modification de cette page le 24 septembre 2004

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 3 mai 2010 à 05:10, par Pascal En réponse à : Comment protéger par mot de passe des rubriques ou des articles

    Bonjour,

    Est-ce compatible avec SPIP 2.0 ?

    Merci

    Répondre à ce message

  • Le 23 novembre 2007 à 13:03, par Jonathan En réponse à : Comment protéger par mot de passe des rubriques ou des articles

    Bonjour,

    Est-ce que vous auriez une méthode simple pour protéger l’ensemble du site SPIP avec un login/mot de passe d’accès identique ?

    Merci

    Répondre à ce message

  • Le 18 novembre 2007 à 18:06, par eric En réponse à : avec 1.91

    j’arrive pas àvoir pourquoi cela ne marche pas avec 1.91. message « Le fichier requis n’a pas été trouvé. Il peut s’agir d’une erreur technique. Veuillez réessayer ultérieurement. Si vous ne pouvez pas accéder au fichier après plusieurs tentatives, cela signifie qu’il a été supprimé » de mon fai ?
    une solution ?

    Répondre à ce message

  • Le 21 octobre 2007 à 14:46, par olivier En réponse à : Comment protéger par mot de passe des rubriques ou des articles

    Bonjour, je suis sur cette méthode depuis quelques jours et étant novice sous spip, je n’arrive pas tout seul à avancer.

    Je travaille sous la version 1.9b avec le squelette Alternative.

    J’ai décompressé et mis les fichiers acces.zip à la racine de mon site.

    J’ai créé un groupe avec un mots clé

    Je n’arrive pas à trouver le nom de mon ID_GROUPE, d’après la barre d’adresse c’est id_groupe=3

    j’ai modifié comme dans l’exemple les fichiers articles et rubriques dans le squelette alternative.(1er ligne)

    J’ai attribué à une rubrique le mot clés, rien ne marche au final

    Si quelqu’un pouvait m’aider, merci beaucoup.

    Répondre à ce message

  • Le 30 mai 2006 à 17:13, par cc En réponse à : Limitation sur acces aux fichiers

    J’utilise cet contrib sur notre site intranet et ca marche tres bien.

    Seul probleme : Meme si le repertoire /IMG est protege par htaccess il est toujours possible d’acceder aux fichiers (documents) qui se trouvent dans une page avec acces protege. Bien sur il faut connaitre le nom du fichier. Quelqu’un aurait trouve une astuce pour eviter ceci ? Merci !

    Répondre à ce message

  • Le 19 juin 2007 à 20:46, par ? En réponse à : Comment protéger par mot de passe des rubriques ou des articles

    merci pour cette contribution. Montre en main moins de 15 mn ! je suis impressionné... Marc

    Répondre à ce message

  • Le 7 novembre 2003 à 18:52, par jcm En réponse à : > Comment protéger par mot de passe des rubriques ou des articles

    J’ai créé un groupe comme indiqué et je ne vois nulle part le numéro de ce groupe et donc je ne vois pas comment suivre la consigne :
    « Notez soigneusement le numéro id_groupe de ce groupe de mots clés, vous en avez impérativement besoin ! ! ! »

    Merci de vos éclaircicements (je suis en spip1.6)

    Répondre à ce message

  • Le 17 mars 2007 à 17:02, par diane En réponse à : Comment protéger par mot de passe des rubriques ou des articles

    je ne comprends pas ce que je dois faire, comment je dois le faire et surtout où je dois le faire :

    Créer un groupe de mot clé que vous appelerez « acces multiple »,vous cocherez les bonnes cases pour que ce groupe ne soit accessible qu’aux administrateurs et puissent être associés aux articles et aux rubriques.

    Si vous avez la gentillesse de me répondre détaillez au maximum la réponse, je fais partie des nuls qui débutent !
    Merci

    Répondre à ce message

  • Le 8 juillet 2006 à 15:30, par jerome En réponse à : Spip 1.9

    Je viens de passer à la version de Spip 1.9, est il possible d’installer cette contrib ?

    • Le 28 août 2006 à 10:54, par kiko26 En réponse à : Spip 1.9

      Bonjour à tous

      je suis moi même très intéressé par cette contrib pour spip1.9
      merci

    Répondre à ce message

  • Le 7 juillet 2006 à 10:37, par mitchificator En réponse à : Comment protéger par mot de passe des rubriques ou des articles

    Un grand merci tout d’abord pour cette très bonne contrib..

    En bidouillant un peu les fichiers controle_acces_rubrique.html et controle_acces_article.html.
    J’ai réussi tout simplement à mettre un mot de passe qui sera caché, au lieu d’utiliser directement le mot-clé. qui passe par la variable $acces dans les deux fichiers.
    if (’#TITRE’==« mot-clé1 »)$acces=« tutu » ;else $acces=« tata » ;
    pour remplacer la ligne $acces=’#TITRE’ ;

    permettra donc d utiliser les mots de passe tutu pour le mot-clé « mot-clé1 » et tata pour l’autre..
    Dans le cas de plus de deux mot-clés, on pourra bien sur rajouter d’autres conditions.

    Voilà, en tout cas ça marche nickel chez moi.

    Il est vrai que les mots de passe sont directement visibles dans les fichiers controle_acces_rubrique.html et controle_acces_article.html. Mais je ne trouve pas ça très génant, du moins pas autant que leur visibilité danc le back-office

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?
  • [Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Hyperspace : squelette responsive

    8 mars 2016 – 45 commentaires

    Description Ce squelette distribué en plugin est un portage pour SPIP du thème responsive « Hyperspace », proposé sur le site . Voir la démo originale : Sites utilisant le plugin : C’est une base de départ pour l’intégration d’un site simple de (...)

  • Escal-V3 et Escal-V4

    16 février 2012 – 320 commentaires

    Un jeu de squelettes proposant un affichage en 2 ou 3 colonnes avec un large choix de noisettes à insérer ou pas, fortement paramétrable depuis l’espace privé. Présentation A l’instar de sa petite soeur plugin Escal-V2 dont elle reprend toutes les (...)

  • Planning simple

    9 septembre 2015 – commentaires

    Ce plugin permet de créer et imprimer un emploi du temps de façon simple. Il dispose de deux méthodes, l’une est d’écrire une liste des évènements dans le corps de l’article, l’autre requiert le plugin agenda. Le plugin planning simple permet (...)

  • Réservation d’événements

    16 mars 2015 – 348 commentaires

    Ce plugin permet d’offrir aux visiteurs de s’inscrire pour un évènement du plugin Agenda et de gérer les réservations enregistrées. Installation Le plugin s’installe comme n’importe quel plugin. il nécessite : Agenda API de vérification Facteur (...)

  • Enluminures typographiques V3

    25 juillet 2009 – 201 commentaires

    Les Enluminures typographiques V3 permettent d’ajouter au Porte plume les raccourcis typographiques présents dans le Plugin Barre Typographique Enluminée. C’est une extension du PortePlume. Pour la documentation d’usage, se reporter à celle du (...)