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:

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...