SPIP ecureuil




Thème de ce forum :

Comment interdire l’accès sans mot de passe à une page dont le squelette est essai.html



Rémi Chéno
Comment interdire l’accès sans mot de passe à une page dont le squelette est essai.html
28 avril 2008 17:23

Bonjour,

j’ai créé (pour l’expérience) une nouvelle page, à la racine de mon site SPIP, un squelette que j’ai intitulé "essai.html".

Je voudrais que cette page ne soit accessible que par mot de passe. J’ai voulu le faire par le .htaccess de mon répertoire racine, en y ajoutant, pour le fichier "essai.html" une protection via un .htpsswd.

Cela fonctionne : si je vais sur la page essai.html, il me demande login et mot de passe. Mais la page n’est pas interprétée par SPIP et j’ai le "contenu" du squelette qui s’affiche.

Mais si je vais sur spip.php ?page=essai (de sorte que SPIP "traduise" mon squelette), je n’ai plus de protection. En fait, je ne comprends pas le mécanisme d’appel des pages sous SPIP...

Pouvez-vous m’aider ? Merci.

Rémi

Rechercher dans les forums:
 

denisb
28 avril 2008 17:43
Comment interdire l’accès sans mot de passe à une page dont le squelette est essai.html

le fichier appelé par spip.php? ou spip.php?page= est parsé par divers scripts qui en extraient les éléments nécessaires au calcul et à l’affichage de la page html retournée : les <BOUCLE_ et les #BALISE.

un fichier dont l’accès web (par url) est protégé par .htaccess est, par contre, appelable et parsable par un script php.

Rémi Chéno
28 avril 2008 17:48
Comment interdire l’accès sans mot de passe à une page dont le squelette est essai.html

Merci pour cet élément de réponse. Mais je ne sais toujours pas comment laisser SPIP "parser" mon squelette essai.html seulement si je lui donne un login/mot de passe... J’aimerais bien un truc simple, via .htaccess...

denisb
29 avril 2008 00:13
Comment interdire l’accès sans mot de passe à une page dont le squelette est essai.html

pour ne pas réinventer la roue et doublonner avec des fonctions existantes de spip, à mon avis, le plus simple serait que :
- tu crées un visiteur générique avec un identifiant et un mot de passe.
- tu notes l’id de ce visiteur (par exemple : 12)
- en tête de ta page confidentiel.html, tu écris un test pour ne la faire afficher que si le consultant est identifié :

<?php
if (isset($auteur['session']['id_auteur'])
    &&
    $auteur['session']['id_auteur'] == '12') {
?>
affichage de la page
...
squelette spip
...
<?php
}
else {
 exit("rien à faire ici !");
}
?>

cette méthode t’évite de jongler avec des htaccess, htpasswd, et autres $_SERVER[’PHP_AUTH_USER’]...

à noter que tu pourrais peut-être aussi utiliser le plugin balise_session :

http://files.spip.org/spip-zone/balise_session.zip

documentation ici :

http://www.spip-contrib.net/Balise-SESSION
Rémi Chéno
29 avril 2008 09:09
Comment interdire l’accès sans mot de passe à une page dont le squelette est essai.html

Merci ! :-)

(Entre temps, j’avais essayé une autre solution, à partir d’un script PHP : http://www.zubrag.com/scripts/passw... (au cas où cela puisse servir à quelqu’un d’autre).

Cordialement,

Rémi

RSS






squelette