Voici comment on peut procéder sur certains serveurs (la plupart, je
suppose)...
1) un mot-clé "restreint" accolé aux articles en accès restreint
2) un fichier 401.html à envoyer en cas d'accès refusé.
3) un fichier acces.php3 contenant grosso modo:
<?
function authenticate() {
Header( "WWW-authenticate: basic realm=\"Chien mechant\"");
Header( "HTTP/1.0 401 Unauthorized");
include ("401.html");
exit;
}
function auth_spip($user,$pass){
include "/www/spip_en/ecrire/inc_connect.php3";
$query="SELECT htpass FROM spip_auteurs WHERE login='$user' AND statut!='5poubelle'";
$result=@mysql_query($query);
while ($row = mysql_fetch_array($result)){
$htpass = $row['htpass'];
if ($htpass == crypt($pass,$htpass)){
return true;
break;
}
}
return false;
}
$auth = false;
// verifie le mot de passe
if(isset($PHP_AUTH_USER)){
if (auth_spip($PHP_AUTH_USER,$PHP_AUTH_PW)){ // auteur spip ?
$auth = true;
}
}
// ici ajouter eventuellement d'autres methodes d'authentification
// par exemple par adresse IP, ou par $HTTP_USER_AGENT pour laisser
// passer GoogleBot, ou d'autres choses encore plus marrantes
// pan! t'es mort!
if (!$auth) {
authenticate();
}
?>
4) un squelette du genre:
<boucle_1(ARTICLES){id_article}>
<boucle_restreint(MOTS}{id_article}{titre=restreint}>
<? include "acces.php3"; ?>
</boucle_restreint>
**** afficher l'article ****
</boucle_1>
@ toufou <mathieu.betton@free.fr> :
bonjour
je voudrais créer un articcle ou une page qui ne soit accessible qu'aux
auteurs du site, en fait une page expliquant les regles internes au site et
diverses recommendations;
Cela est-il possible directement avec SPIP (je ne pense pas) ou existe t'il
une astuce?
J'ai pensé au forum public mais le message disparaîtra au bout d'un moment
une idée?
@+
_______________________________________________
spip mailing list
spip@rezo.net
http://listes.rezo.net/mailman/listinfo/spip
-- Fil