Qu'est ce que c'est ?
WAccess est un système de management d'accès pour votre site Web.
Vous pouvez définir 2 types de droits, Guest (Membre) et Administrateur pour
chaque utilisateur autorisé par un identifiant et un mot de passe, les
utilisateurs peuvent changer leurs mots de passe, l'administrateur peut en
ajouter / supprimer.
Suivant les droits, vous pouvez spécifier les pages auxquelles les visiteurs
peuvent avoir accès. Il est aussi possible d'attribuer une page spécifique
pour chaque utilisateur.
Dépendances:
- Perl 4.0 ou une version plus récente; vous pouvez le trouver sur
http://www.perl.com
- Un serveur Web avec la possibilité d'ajouter/exécuter des scripts CGI.
Télécharger la version courante :
La version en cours est la Version 1.1, crée le 05/30/98, dernière modification le 12/24/99.
Télécharger le code source / script et la documentation :
Archive Tar/Gzip : WAccess.tar.gz (0 Ko)
Format Zip DOS : WAccess.zip (0 Ko)
Que contient cette archive ?
Cette archive contient 11 fichiers différents:
1) COPYING: La licence de ce programme (GPL).
2) README: La documentation en Anglais...
3) LISEZMOI: Ce fichier...
4) WAccessLib.pl: Bibliothèques contenant les fonctions utilisées.
5) member.cgi: Affiche la page des "Membres" si le mot de passe est bon.
6) admin.cgi: Affiche la page Administration si le mot de passe est non.
7) cgi-lib.pl: Bibliothèque CGI-Lib (de Steven E. Brenner).
8) password.txt: Fichier contenant des mots de passe.
9) Admin.html: Page HTML affichée par Admin.cgi
10) Member.html: Page HTML affichée par Member.cgi
11) other.html: Une autre page HTML pour exemple.
Installation et configuration:
C'est un script Perl, l'installation est simple. Vous n'avez pas besoin
de compiler quelque chose...
Copiez *.cgi et *.pl dans le répertoire /cgi-bin/
Copiez password.txt, *.html dans le répertoire data.
Rendez les exécutable (chmod a+rx *.cgi) Unix seulement...
Rendez les fichiers donnés modifiable (chmod a+rw *.txt) Unix seulement...
Pour le bon fonctionnement de ce script, vous avez quelques configurations
à faire...
Editez tous les scripts CGI (*.cgi) et changez #/usr/bin/perl,
si nécessaire...
Editez la section "Necessary Variables" de WAccessLib.pl et faite les
changements suivant :
$DATA_DIR = "/Absolute/path/to/datadir/";
Chemin du répertoire des données.
$PASSWORD_FILE = $DATA_DIR."password.txt";
Nom du fichier de mots de passe.
Login et passord universel, au cas ou vous auriez perdu le votre.
$UNIV_LOGIN = "FTLS"; # Changez le...
$UNIV_PASSWORD = "www.ftls.org"; # Changez le...
Nom et titre de la page Administration:
$ADMIN_FILE = $Data_dir."Admin.html";
$COMMON_ADMIN_TITLE = "WAccess v1.1, Administration of www.ftls.org";
Nom et titre de la page membre:
$MEMBER_FILE = $Data_dir."Member.html";
$COMMON_MEMBER_TITLE = "Member of www.ftls.org";
$WEBMASTER_EMAIL = 'you@yourdomain.com';
$DISPLAY_LANG = 'Fr'; Pour avoir les textes en français.
Editez Admin.html et Member.html changez le look et ajouter des choses.
Voir Comment l'utiliser pour plus d'informations sur les appels à
d'autres scripts.
Comment l'utiliser ?
Dans le fichier des mots de passe, il y en a déjà 2 pour les essais :
Login: member Password: member Permissions: Administrateur
Login: admin Password: admin Permissions: Membre
Utiliser member.cgi :
Il existe plusieurs appels possibles :
directement '/cgi-bin/member.cgi'
-> demande le login et le mot de passe, si correct affiche la page
membre.
Les résultats des appels suivants suivant sont à condition que le login
et le mot de passe soient correctes.
'/cgi-bin/member.cgi?login=VotreLogin&pass=VotrePassword'
-> Affiche la page des membres.
'/cgi-bin/member.cgi?login=VotreLogin&pass=VotrePassword&page=PageName'
-> Affiche la page 'PageName.html' (présente dans $DATA_DIR).
Rq: Si PageName commence par Adm, seul l'administrateur peut l'afficher.
'/cgi-bin/member.cgi?login=VotreLogin&pass=VotrePassword&page=user'
-> Affiche la page 'utilisateur' défini dans la config.
'/cgi-bin/member.cgi?login=VotreLogin&pass=VotrePassword&ac=chpass'
-> Permet à l'utilisateur de changer son mot de passe
Utiliser admin.cgi :
Il existe plusieurs appels possibles :
directement '/cgi-bin/admin.cgi'
-> demande le login et le mot de passe, si correct affiche la page
administration.
Les résultats des appels suivants suivant sont à condition que le login
et le mot de passe soient correctes.
/cgi-bin/admin.cgi?login=VotreLogin&pass=VotrePassword
-> Affiche la page administration.
/cgi-bin/admin.cgi?login=VotreLogin&pass=VotrePassword&ac=admin
-> Administration des utilisateurs (ajouts / suppressions)
/cgi-bin/admin.cgi?login=VotreLogin&pass=VotrePassword&ac=chpass
-> Changement du mot de passe administrateur.
Utiliser member.cgi et admin.cgi à partir d'une page affichée par member.cgi ou admin.cgi.
Vous pouvez soit faire un appel par une URL, soit en utilisant un
formulaire 'POST' en remplaçant les informations Votrelogin VotrePassword
par Value_Login Value_Password.
En effet les chaînes suivantes sont remplacées automatiquement par les
valeur correspondante à l'utilisateur :
Value_Login -> Identifiant.
Value_Password -> Mot de passe.
Value_Webmaster_EMail -> E-Mail du webmaster.
Exemple URL :
<A HREF="/cgi-bin/admin.cgi?login=Value_Login&pass=Value_VotrePassword&ac=admin">click</A>
Exemple formulaire :
<FORM METHOD=post ACTION="/cgi/member.cgi">
<INPUT TYPE=HIDDEN NAME="login" VALUE="Value_Login">
<INPUT TYPE=HIDDEN NAME="pass" VALUE="Value_Password">
<INPUT TYPE=HIDDEN NAME="page" VALUE="user">
<INPUT TYPE="Submit" VALUE=">>">
</FORM>
Autres exemples :
Voir les fichiers Admin.html et Member.html.
Protéger d'autres scripts CGI :
Si vous voulez protéger vos propres scripts, en gardant les mêmes
mots de passe il suffit que vous ajoutiez les lignes suivantes en tête.
require "WAccessLib.pl"; # charge la lib WAccess.
&ReadParse(*input); # récupère les informations.
&CGIProtect($mode, $input{'login'}, $input{'pass'}, $title);
# Test login et mot de passe, Affiche 'Mot de passe incorrect' et sort
# si invalide, ne fait rien sinon et continue l'exécution du programme.
avec :
$mode = "root" si seul les administrateurs peuvent y accéder, "guest" sinon.
$title : titre de la page (affiche au-dessus de "Mot de passe Invalid")
pour l'appel il suffit de taper :
'/cgi-bin/votrescript.cgi?login=VotreLogin&pass=VotrePassword'
ou: <FORM METHOD=post ACTION="/cgi/votrescript.cgi">
<INPUT TYPE=HIDDEN NAME="login" VALUE="VotreLogin">
<INPUT TYPE=HIDDEN NAME="pass" VALUE="VotrePassword">
<INPUT TYPE="Submit" VALUE=">>">
</FORM>
Histoire:
Version 1.1 24/12/99 - Mise à jour.
- Ajout accès par post.
- Ajout page spécifique un utilisateur.
- Regroupement des scripts.
Version 1.0 30/05/99 - Création de l'archive.
Copyright:
This software is copyright (C) 1999 Frédéric TYNDIUK. It is distributed
under the terms of the GNU General Public License (GPL). Because it is licensed
free of charge, there is NO WARRANTY, it is provided AS IS. The author can not
be held liable for any damage that might arise from the use of this software.
Use it at your own risk.
See the file COPYING for more details (or http://www.gnu.org/).
Nouvelles versions:
Les nouvelles versions ainsi que d'autres scripts sont disponibles sur:
http://www.ftls.org/fr/
Contact:
N'hésitez pas à m'envoyez un mail si vous avez des commentaires, des
suggestions, si vous trouvez des bugs, ou si vous avez des critiques, ou juste
pour me dire que vous aimez ce programme...
Si vous avez des problèmes de configuration, d'utilisation de ces
scripts, relisez ce document en premier, si vous ne trouvez pas la
solution, n'hésitez pas à me contacter...
E-Mail: tyndiuk@ftls.org
Web: http://www.ftls.org/
Frédéric TYNDIUK