Comment authentifier les utilisateurs
Les visiteurs doivent s'enregistrer avant de placer des commentaires sur une page. Cela peut aussi être requis si vous voulez qu'ils puissent contribuer au site en proposant des articles.
Comment fonctionne le système
L'utilisateur tape un login et un mot de passe dans un formulaire et un programme
en PHP est appelé par le formulaire, soit pour intégrer ces
données s'il s'agit d'un nouvel utilisateur, soit quand on veut se
logger pour parcourir la base et vérifier que l'utilisateur existe
et a donné le bon mot de passe.
Ces données sont ajoutées dans un fichier XML.
Le fichier XML
Ces balises et propriétés doivent être définies:
<users> <user login="" password="" email="" /> etc... </users>
Pour s'enregistrer
Si l'utilisateur veut s'enregistrer:
- une vérification est faite dans la base de données, le login
doit être unique.
- un message affiche le résultat.
Le script écrit en language PHP charge le fichier XML, vérifie
que le nom n'est pas déja utilisé, et dans ce cas il insère
le profil de l'utilisateur avec le marqueur de fin de balise racine. Puis
il sauve le fichier.
Si le nom existe déja un message est affiché. Dans tous les
cas on revient à la page principale.
C'est un processus simple qui peut être accompli sans utiliser de fonction
XML particulière.
Voir le script register.php dans l'archive plus bas.
Pour se loguer
Quand l'utilisateur veut se logger:
- le nom et le mot de passe sont comparés au contenu de la base de
données (la démo est simplifiée).
- si tout est is ok on continue, sinon un message propose de recommencer ou
de s'enregistrer.
Le code charge le fichier XML et place le contenu dans des tableaux, puis
il compare les données.
Voir les scripts:
- logcheck.php Parse la base de données, vérifie si le login existe, dans ce cas il charge logok.php sinon il charge login.php.
- login.php Le nom d'utilisateur entré n'existe pas. Entrer un autre nom (dans la démo le mot de passe n'est pas requis).
- logok.php Le nom est reconnu, on affiche un message puis on recharge la page principale.
Le système réel
Le programme réel n'est pas aussi simple. Si les noms et mots de passe
sont stockés directement dans un fichier XML, celui-ci peut être
lu par n'importe qui et l'on peut prendre un nom et un mot de passe pour se
logger avec.
Il nous faut encrypter ces données, soit seulement les chaînes
qui les contiennent, soit le fichier XML entier. Et le programme doit être
capable de décoder ces données pour chercher dans la liste.
Il paraît plus simple de coder seulement les chaînes et nous utiliserons
d'abord cette méthode dans l'outil d'enregistrement réel.
Télécharger l'archive de la démonstration...