SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 65 visiteurs en ce moment

Accueil du site > Auteurs, authentification et autorisations > Authentification (accès protégés) avant SPIP 1.9 > Accés restreints à certains articles (autre approche)

Accés restreints à certains articles (autre approche)

16 mai 2003 – par laurent

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Comment restreindre une partie du site a des personnes identifiées

Bonjour.

Puisque tout le monde semble proposer sa soluce concernant l’acces restreint a un certain nombre d’articles, voici ma petite contribution.

(ma petite contribution fonctionne depuis quelques mois sur le site d’une administration)

Commencons par ordre :

* deux fichiers installés à la racine du site :

-  identification.html
-  validate.php3

Un bout de code a rajouter dans les fichiers concernés :

-  haut.php3

Le fichier identification.html contient le formulaire suivant :

<form name="login" method="post" action="validate.php3">
<div align="center"><span class="url">Identifiant </span>
<input type="text" name="user_name">
<br>
<span class="url"> Passwords </span>
<input type="password" name="password">
<br>
<input type="submit" value="Valider">
</div>
</form>

Comme vous le remarquez le formulaire renvoie a un fichier nommé validate.php3, dont voici le contenu :

<?
@mysql_connect("localhost","root","");
@mysql_select_db("test") or die("impossible à se connecter");
$requete="select * from connection_users where user_name='$user_name' and chiffre='$password'";
$result=mysql_query($requete);


if ($ligne = mysql_fetch_assoc($result)) {

$nom=$ligne["user_name"];
$chiffre=$ligne["chiffre"];



//renvoie les valeurs noms et identifiant a une base de donnee
$requetInsert="insert into log_users (compteur, user_name,chiffre, date_log) VALUES ('','".AddSlashes($nom)."','".$chiffre."',NOW())";


$resultInsert=mysql_query($requetInsert);
SetCookie("nom",$nom);
SetCookie("chiffre",$chiffre);

?>
<html>
<head>
</head>
<body>
<script>document.location.href='nom_du_fichier_privé.php3'</script>
<?

} else {

?>

<script>document.location.href="identification.html"</script>
<?
};
mysql_free_result($result);
mysql_close();
?>

</body>
</html>

Pour que cela fonctionne il aura fallu creer auparavant deux bases de donnees. (voir la doc mysql pour créer deux bases de données)

-  une base de donnee contenant le login de la personne (ici son nom) ainsi qu’un password ( ici une série de chiffre)
-  la seconde permettant d’avoir une base de donnée du type log_users en temps réel et ainsi vérifier qui accéde à la partie réservée et vérifier ainsi les accés.

Donc cela donne les opérations suivantes :

-  la personne inscrit son login et password, vérification des deux identifiants sur la base de donnée, si identifiants valides l’inscription dans la seconde base de donnée s’effectue qui s’incremente automatiquement. Aprés validation, la personne est envoyée vers le fichier désiré (nom_du_fichier_privé.php3). Si la personne est inconnue de la première base de donnée elle revient à la page identification.html.

Le bout de code en php3 (haut.php3) lui se compose des lignes suivantes :

<?
// ici premier ligne au dessus
if ($nom==""){

?>

<script>document.location.href="identification.html"</script>
<?
} ;
// ici derniere ligne en dessous
?>

Ces lignes (haut.php3) doivent êtres mises dans tous les fichiers php3 (rubrique.php3, article.php3 par exemple ) dont vous voulez restreindre l’accés. De plus, même si une personne envoie l’url d’une page protégée à un ami par courrier électronique, le destinataire n’étant pas reconnu il ne pourra pas accéder à la page proposée.

Si vous voyez des trucs à ajouter, des bidules à enlever ou si cela vous pose des questions n’hésitez pas à me contacter.

Retour en haut de la page

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Transaction : créer des formulaires avec paiement en ligne

    13 mars 2011 – 32 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Transaction est une extension du plugin de création de formulaires Formidable pour concevoir des formulaires de paiement en ligne et les connecter aux principales API bancaires françaises. Présentation Transaction introduit 3 nouveaux types de (...)

  • Formulaire de contact avancé

    23 mars 2009 – 1041 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un formulaire de contact configurable, avec de multiples options.

  • Squelette Multi-Saisons

    19 février 2009 – 226 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un squelette qui change de couleurs suivant les saisons, un graphisme tout en rondeurs et de très nombreuses options.

  • JQuery Masonry

    15 août 2011 – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin est un portage pour Spip du plugin jQuery Masonry de David DeSandro : http://masonry.desandro.com/ Principe Ce plugin réorganise les blocs de votre page page d’après une grille (de manière verticale et horizontale) pour réduire au maximum (...)

  • Thélia

    26 juin 2007 – 835 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Une approche basée sur l’utilisation conjointe des deux logiciels SPIP et Thélia pour la réalisation de sites de publication et de vente en ligne