Un mot de passe pour tout un site SPIP
samedi 12 septembre 2009
par
popularité : 61%
par
popularité : 61%

Comment facilement protéger un site SPIP entier avec un mot de passe unique ?
Avec le petit script qui suit qu’il suffit d’ajouter au fichier config/mes_options.php Les seuls choses à modifier sont l’adresse de votre image préférée et le mot de passe à la fin du script.
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
spip_initialisation($e . _NOM_PERMANENTS_INACCESSIBLES,
$e . _NOM_PERMANENTS_ACCESSIBLES,
$e . _NOM_TEMPORAIRES_INACCESSIBLES,
$e . _NOM_TEMPORAIRES_ACCESSIBLES);
include_spip('inc/minipres');
function pwd_minipres($titre="",$contenu=""){
return install_debut_html($titre, $onload)
. "<div class='petit-centre'>" . $contenu . "</div>"
. install_fin_html();
}
/*
* protection du site par mot de passe
* Demander le code pour autoriser la visite du site
* Si le code est valide, poser un cookie
*/
function etape_password($code){
if ($code) {
$secret = md5($code.$code);
if ($code != $_REQUEST['code_activation']
AND $_COOKIE['louise_code_activation'] != $secret) {
echo pwd_minipres(
"Accès protégé",
"<div><img alt='logo' src='" . _DIR_SITE . _NOM_PERMANENTS_ACCESSIBLES . "login.png' /></div>\n".
(isset($_REQUEST['code_activation'])
? "Erreur de mot de passe : accès non autorisé"
: ''
) .
'<h3>'.
'Veuillez entrer le code d\'accès au site :'.
'</h3>'.
"<form method='post' action='".self()."'><div>
<input type='password' name='code_activation' size='10' />
<input type='submit' value='ok' />
</div></form>");
exit;
}
else {
setcookie('louise_code_activation', $secret);
}
}
}
etape_password('mettre_ici_le_mot_de_passe');
?>