SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

94 visiteurs en ce moment

fontsizeup fontsizedown
Accueil du site > Contribs > Auteurs et Authentification > Authentification > LOGIN_PUBLIC et contenu à accès restreint
[35 commentaires]

LOGIN_PUBLIC et contenu à accès restreint

samedi 15 janvier 2005, par Yorghos

1 vote

Le principe de la présente contribution ne concerne que la méthode d’accès aux pages disponibles uniquement après authentification.

La gestion d’un espace à accès restreint, quel que soit le contenu, signifie que des informations propres à chaque visiteur peuvent être conservées dans les tables. Par exemple, le contenu d’un espace personnel n’est accessible qu’après authentification [1].

Le principe de la présente contribution ne concerne que la méthode d’accès aux pages disponibles uniquement après authentification.

La page du login

Avant toute chose quelques rappels :
- Pour activer les accès visiteurs et le #LOGIN_PUBLIC, il faut attribuer l’option forum sur abonnement à au moins un article (il peut s’agir d’un article non publié).

- Faire le choix de l’inscription automatique des visiteurs ou supprimer la ligne dans le inc_formulaire.php3.

Sur la page d’accueil du site on crée un lien avec deux affichages :

Le script détecte la présence d’un visiteur authentifié (if $auteur_session) et affiche “mon espace privé” avec un lien vers la page mon_espace.php3. Si le visiteur n’est pas connecté, l’affichage indique “vers l’espace réservé” et le lien pointe vers login_public.php3.

Sur cette page de login (login_public.php3), on peut imaginer de mettre à disposition, outre le formulaire d’authentification, une série de liens vers les pages qui ne sont accessibles qu’aux visiteurs authentifiés.

Authentification et visibilité des pages

Ces liens (s’ils existent sur la page login_public) sont toujours actifs, même si le visiteur n’est pas encore authentifié. Ceci signifie qu’en cliquant sur ces liens, on accède aux pages en accès restreint. Il faut avoir recours à un petit script placé dans l’en en-tête des squelettes qui protège l’accès :

De cette façon le contenu n’est plus accessible aux visiteurs non authentifiés. Je rappelle que l’exemple ci-dessus reprend la documentation de SPIP sur les formulaires et l’utilisation de la balise #LOGIN_PUBLIC.

Les informations disponibles après la connexion d’un visiteur :

-  <?php echo $auteur_session['nom'?> -> Nom
-  <?php echo $auteur_session['email'?> -> Email
-  <?php echo $auteur_session['statut'?> -> Statut

Précautions de sécurité

Dans le cas où l’on veut éviter que des contenus soient affichés par des visiteurs non-autorisés qui modifieraient manuellement les urls dans un squelette non protégé, en passant le paramètre id_article par exemple au squelette approprié, il faut penser à deux choses :

- Préférer le classement de tous les articles à usage restreint dans des rubriques dont l’affichage est interdit sur le site public par exemple, id_rubrique !=XX dans la boucle RUBRIQUES (y compris sur les pages type mot ou recherche),
- Créer un squelette article-XX, où XX est l’id_rubrique dont l’affichage est interdit et placer dans l’en-tête le script de test d’authentification présenté ci-dessus.

En conclusion, en utilisant les fonctions de SPIP et à l’aide de scripts php minimalistes, il est possible de mettre en place des règles d’accès de contenu faciles à gérer, avec le niveau de sécurité qu’offre SPIP.

Notes

[1] La mise en oeuvre d’un tel accès pourrait permettre de rajouter les “id_article” sélectionnés par le visiteur dans un champs extra de la fiche d’un auteur et de les convertir en liens vers les articles favoris dans l’espace personnel auquel accède l’auteur.

Retour en haut de la page

35 Messages de forum

Voir toute la discussion

Pages 1 | 2 | 3 | 4

  • Répondre à ce message

    15 juillet 2008 12:29 , par ola

    bonjour c’est la galère

    je suis en 1.7.2 et l’accès restreint à la rubrique voulue ne fonctionne pas dans l’espace publique pourtant "accès restreint" est bien présent pour cette rubrique dans l’espace privée

    quelqu’un pourrait il m’aider ?

    merci

  • Répondre à ce message

    7 février 2008 09:04

    Que faut-il utiliser pour mettre en place un site à accès restreint, si cette méthode n’est pas fiable, sans utiliser de .htaccess. Le plugin SESSION n’étant pas fait pour cela.

  • Répondre à ce message

    9 janvier 2008 08:46 , par Pierre

    Bonjour et bonne année 2008

    J’ai un petit problème avec le plugin accès restreint (Version : 0.2) : celui-ci fonctionne parfaitement sur les sites SPIP que je gère (1.9.2.b) sauf sur ceux qui utilisent une mutualisation du noyau. Dans ce cas, seul le premier site qui active ce plugin fonctionne normalement. Pour les autres, l’activation du plugin n’est pas possible : Dans gestion des plugins, une tentative d’activation renvoi une erreur "Accès interdit - activer_plugins".

    Merci d’avance pour votre aide

  • Répondre à ce message

    20 décembre 2007 21:30 , par bruno010

    Bonjour,

    Je suis également débutant sur spip. J’ai installé Spip 1.9.2c et je souhaite mettre en place un acces restreint pour une copropriété.

    Peux-tu m’expliquer exactement comment tu as résolu ton problème ?.

    Merci d’avance pour ton aide.

  • Répondre à ce message

    13 novembre 2007 22:27 , par Com-Unik

    Bonjour !

    Mon site était sous Spip1.9.1 et je l’ai mis à jour vers 1.9.2c

    Depuis, je ne peux plus ajouter les visiteurs à une zone, l’option ne s’affiche plus dans leur profil dans l’espace privé !!

    Y a-t-il une solution ?

  • Répondre à ce message

    16 octobre 2007 02:38 , par atom

    Une rubrique en accés restreint pour la zone publique et la zone privée... est accéssible à un administrateur restreint.

    Bug ou faille de sécurité, un administrateur restreint peut se rajouter a toutes les zones restreintes depuis son profil Auteur !

    "Ajouter toutes les zones" est visible en lien.

    Quelqu’un à une info SVP ?

    Merci

  • Répondre à ce message

    1er octobre 2007 22:06

    c’est du 50/50 :
    - 50 pour SPIP qui accepte de laisser php de définir la variable auteur_session
    - 50 pour la mauvaise configuration de votre php : register_globals est à on dans votre php.ini ce qui constitue une gros trou de sécurité.

  • Répondre à ce message

    7 juin 2007 17:44

    Bonjour, Ce système a été développé pour SPIP 1.8. Sur une version 1.9, il est préférable d’utiliser la balise SESSION qui marche très bien. Sinon, peut-être faire un squelette d’authentification distinct.

  • Répondre à ce message

    7 juin 2007 10:49 , par Johan

    J’ai testé avec un squelette qui possède par défaut un accès restreint (EspFor 2.4) et j’arrive aussi à voir le sommaire en tapant http://monsite/spip.php?auteur_session=true (il faut parfois réactualiser pour que ca fonctionne).

    Il semblerait donc que le problème ne vienne pas de moi...

  • Répondre à ce message

    7 juin 2007 10:17 , par Johan

    Bonjour,

    Je suis débutant en Spip et je désire créer un site à accès restreint. Pour sécuriser mes pages, j’ai rajouté dans mes squelettes :

    <?php  if ($auteur_session) {?>

    // Affichage de mon squelette

    <?php
    } else {?>

    // Affichage du formulaire login_public

     ?>

    L’authentification fonctionne dans le cas normal mais si je met http://monsite/spip.php?auteur_session=true en URL, je peux accéder au sommaire de mon site. Même si je ne peux plus rien faire ensuite, je trouve cela plutôt embêtant.

    J’ai également testé en mettant if ($auteur_session[’statut’]) mais j’obtient le même résultat.

    Je précise que je n’ai pour l’instant sécurisé que les squelettes principaux (sommaire, article, rubrique, breve et 404).

    Est-ce que j’ai mal appliqué cette contrib ou est-ce une faille et si c’est le cas comment mettre en place la sécurisation des page à accès restreint ?

    Je vous remercie par avance pour l’aide que vous pourrez m’apporter.

Pages 1 | 2 | 3 | 4

Répondre à cet article

Retour en haut de la page

Ça discute par ici