Voici ma solution pour rendre privé une partie d'un site
On cree un fichier auth.php qui contien ce qui suit
<?php
// Creer autant de user que necessaire
$user['olivier']='pass';
$user['webmaster']='password';
// Choisissez le nom du secteur (REALM) : une authetification protege
// plusieurs
// pages avec le meme REALM sans redemander l'authentification
$secteur='Acc\xe8s Priv\xe9';
// Ne pas modifier ce qui suit
if(!isset($PHP_AUTH_USER) || ($user[$PHP_AUTH_USER]!=$PHP_AUTH_PW))
{
// si l'utilisateur n'est pas authentifie ou si le pass est faux
Header("WWW-Authenticate: Basic realm=\"$secteur\"");
Header("HTTP/1.0 401 Unauthorized");
echo "L'acc\xe8s priv\xe9 est r\xe9vers\xe9 aux membres";
exit();
}
?>
Dans ce fichier, ajoutez les utilisateurs au début.
Dans les pages a protéger (typiquement rubrique-123.html et article-123.html) au début ajouter
<?php include ("auth.php"); ?>
Et voilà, elles sont protégés, recalculer-les... et il vous demande une athentification HTTP.
Si vous avez plusieurs parties à proteger, pour des utilisateurs différents, creez un auth2.php et modifiez la valeur de $secteur.
Andre VANDERLYNDEN wrote:
cela m'interesse bcp.
peux tu m'informer dès que tu auras fait qqchose ?
Merci d'avance.
André Vanderlynden
Le 9 Jul 2002 à 22:17, Olivier MARTINEAU a écrit:
Date sent: Tue, 09 Jul 2002 22:17:18 +0200
From: Olivier MARTINEAU <olivier@cigogne.net>
To: spip@rezo.net
Subject: Re: [Spip] Rendre privé une rubrique
J'ai trouvé une solution en PHP
<?php
if(!isset($PHP_AUTH_USER)) {
Header("WWW-Authenticate: Basic realm=\"My Realm\"");
Header("HTTP/1.0 401 Unauthorized");
echo "Texte affiché si l'utilisateur appuie sur le bouton
Cancel"; exit;
} else {
echo "Bonjour $PHP_AUTH_USER.<P>";
echo "Vous avez un mot de passe égal à $PHP_AUTH_PW.<P>"; //a
ajouter ici une vérification des mots de passe // si le mot
de passe est faux, redemander l'authetification exit();
}
?>
// Reste du squellette
Ca permet de faire une authentification dans un squellette spécial
pour une rubrique.
Ca me parrait assez simple et sécurité. J'ai vu des systèmes avec des
cookies, mais pas sécurisé (genre pas de clef généré, mot de passe
dans le cookie ...)
Je vais l'implémenter et si ca intérésse quelqu'un je fais un petit
article dessus.
-----Message d'origine-----
De : spip-bounces@rezo.net [mailto:spip-bounces@rezo.net]De la part
de Olivier MARTINEAU Envoyé : dimanche 7 juillet 2002 22:44 À :
spip@rezo.net Objet : [Spip] Rendre
=?ISO-8859-1?Q?priv=E9_une_rubrique?=
Bonjour
Je découvre avec bonheur SPIP. Je suis en train d'étudier comment
convertir mon site.
Un de mes problemes : j'ai une partie de mon site réservé avec accès
mot de passe. Comment est ce que je peux gerer ca ? Je n'ai rien
trouvé dans la doc. Avec un .htaccess je ne voie pas comment faire.
Est ce que l'on peux mettre des squellettes dans des sous répertoire
pour vérouiller le répertoire ?
Allez une derniere question dans la version 1.4 je ne trouve plus
comment mettre les icones de rubrique ou d'article ? Il ya du
changement ?
Et pour quand sera la version finale de la 1.4 ? Il y a un objectif
?
Sinon très bon boulot, SPIP est vraiment à faire connaitre
At 18:10 14/07/2002 +0200, Olivier MARTINEAU wrote:
// Choisissez le nom du secteur (REALM) : une authetification protege
// plusieurs
// pages avec le meme REALM sans redemander l'authentification
$secteur='Acc\xe8s Priv\xe9';
Je n'ai pas compris si l'on pouvait aussi mettre le nom d'une rubrique et non pas d'un secteur.
Ou bien encore simplement celui d'un article ?
Je viens d'essayer ça ne marche pas.
Il ne se passe rien.
Et même en secteur.
Y a-t-il quelqu'un d'autre dans ce cas ?
Merci
___________________________________________
At 18:10 14/07/2002 +0200, Olivier MARTINEAU wrote:
Voici ma solution pour rendre privé une partie d'un site
On cree un fichier auth.php qui contien ce qui suit
<?php
// Creer autant de user que necessaire
$user['olivier']='pass';
$user['webmaster']='password';
// Choisissez le nom du secteur (REALM) : une authetification protege
// plusieurs
// pages avec le meme REALM sans redemander l'authentification
$secteur='Acc\xe8s Priv\xe9';
// Ne pas modifier ce qui suit
if(!isset($PHP_AUTH_USER) || ($user[$PHP_AUTH_USER]!=$PHP_AUTH_PW))
{
// si l'utilisateur n'est pas authentifie ou si le pass est faux
Header("WWW-Authenticate: Basic realm=\"$secteur\"");
Header("HTTP/1.0 401 Unauthorized");
echo "L'acc\xe8s priv\xe9 est r\xe9vers\xe9 aux membres";
exit();
}
?>
Dans ce fichier, ajoutez les utilisateurs au début.
Dans les pages a protéger (typiquement rubrique-123.html et article-123.html) au début ajouter
<?php include ("auth.php"); ?>
Et voilà, elles sont protégés, recalculer-les... et il vous demande une athentification HTTP.
Si vous avez plusieurs parties à proteger, pour des utilisateurs différents, creez un auth2.php et modifiez la valeur de $secteur.
$secteur n'a rien a voir avec SPIP : c'est un REALM. Le REALM est un notion HTTP. On regroupe différente page dans un REALM, et si l'utilisateur est authentifié pour ce REALM, il ne redemande pas d'authetification.
Pour tester vous pouvez essayer de charger directement auth.php. Il doit demande une authentification, si vous répondez par un mot de passe correcte, il affiche une page vide, sinon il redemande l'authentification. Et si vous faite CANCEL il met que la page est protégé.
Perline wrote:
At 18:10 14/07/2002 +0200, Olivier MARTINEAU wrote:
// Choisissez le nom du secteur (REALM) : une authetification protege
// plusieurs
// pages avec le meme REALM sans redemander l'authentification
$secteur='Acc\xe8s Priv\xe9';
Je n'ai pas compris si l'on pouvait aussi mettre le nom d'une rubrique et non pas d'un secteur.
Ou bien encore simplement celui d'un article ?
| At 00:16 15/07/2002 +0200, Olivier MARTINEAU wrote:
| >Pour tester vous pouvez essayer de charger directement auth.php.
|
| Euh oui, j'ai dû faire une erreur : il me répond
| ÐÏࡱá
|
| C'est pas normal, ça c'est sûr... <:-)
Je suis chez altern (pour ce site là) et je ne sais pas ce qu'il utilise...
Y'a moyen de voir ou il faut que je demande ?
__________________________
At 12:48 15/07/2002 +0200, Samuel Tardieu wrote: