Restriction des pages consultables hors connexion

Principe simpe d’un accès restreint où seuls une liste de pages prédeterminées sont autorisé à la consultation.

Existant

Il existe déjà un certains nombre de contribution permettant de limiter l’accès au contenu d’un site soit par Acces-restreint-par-adresse-ip soit par accès restreint.

Cette contrib est relativement simple, elle montre comment filtrer l’accès à un site via les paramétres d’url (GET)

Pré requis

Il faut qu’un format d’url propre soit activé.
Via les urls propre, le serveur apache va reecrire les noms des pages en sous la forme spip.php?page=...&id_....

Ainsi _request('page') nous indiquera à tout moment la page demandée par le visiteur.

Code

Dans un fichier personnel mes_fonctions.php, vous pouvez faire :

$pages = array('','login','spip_pass');

if ($GLOBALS['auteur_session'] OR in_array(_request('page'),$pages) ) {
    //autorisé
} else {    
    include_spip('inc/headers');
    redirige_par_entete(generer_url_public('login'));  
}

Dans cet exemple, nous autorisons

  • l’accès global au site si le visiteur est authentifié. ($GLOBALS['auteur_session'])
  • l’accès aux pages definies dans $pages à l’ensemble des visiteurs

Nous pouvons noté le cas particulier '', cette page correspond à la page d’accueil, la page associée au squelette sommaire.html

Les autres pages correspondent :

  • à la page d’authentification (login)
  • à la page mot de passe oublié (spip_pass)

Évolution

Vous pouvez par la suite complexifié les autorisations de visites en regardant les variables d’id de page tel que _request('id_article') ou bien _request('id_rubrique')

De même via $GLOBALS['auteur_session']['statut'] vous pouvez gérer plus finement l’accès au site en fonction du statut du visiteur authentifié.

Dernière modification de cette page le 9 février 2019

Discussion

Aucune discussion

Ajouter un commentaire

Qui êtes-vous ?

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom