Mon tutorial original se trouve ici :
http://www.asp-php.net/scripts/asp-php/protection-page.php
= = Les fichiers nécessaires : ==
<table cellpadding=\\"5\\" border=\\"0\\"> |-
_protect.asp | : contient vos identifiants et mots de passe |
_protectpage.asp | : vérifie la validité de l'accès |
index.asp | : celui du dossier ADMIN |
vos pages à protéger | : avec test de validité |
_deconnexion.asp | : déconnexion et retour à votre site |
</td> </tr> </tbody> </table> </td> </tr> </tbody> </table>
(partie commune) |
- <% ' ----------------------------------------------------------------------------------------------------------------- ' Definition de la liste des identifiants et mots de passe (3 niveaux) ' Remplacer les mots : ' IDENTIFIANT1 et MOTDEPASSE1 : par ceux du Webmestre ' IDENTIFIANT2 et MOTDEPASSE2 : par ceux des Administrateurs ' IDENTIFIANT3 et MOTDEPASSE3 : par ceux des collaborateurs ' ----------------------------------------------------------------------------------------------------------------- dim password(3,3) i=0 : niv = 1 ' Webmestre i=i+1 : password(i,1) = \"IDENTIFIANT1\" : password(i,2)=\"MOTDEPASSE1\" password(i,3) = niv niv = 2 ' Administrateurs i=i+1 : password(i,1) = \"IDENTIFIANT2\" : password(i,2)=\"MOTDEPASSE2\" password(i,3) = niv niv = 3 ' collaborateurs i=i+1 : password(i,1) = \"IDENTIFIANT3\" : password(i,2)=\"MOTDEPASSE3\" password(i,3) = niv ' ----------------------------------------------------------------------------------------------------------------- %> </td> |
</td> </tr> <tr> <td align="middle"> (puis avec COOKIE)
</td> </tr> <tr> <td align ="middle">
<% ==cookies("MONCOOKIE")="" == ' si le visiteur a validé le formulaire if (request.form("LELOGIN")<>"" and request.form("LEPASS")<>"") then ' on compare avec la liste for i = 1 to ubound(password) ' si le login et le mot de passe sont bons if (request.form("LELOGIN")=password(i,1) and request.form("LEPASS")=password(i,2)) then ' on stocke le niveau dans un cookie response.cookies("MONCOOKIE")=password(i,3) validitecookie = 1 ' on definit la duree de validite du cookie (ici valable 1 jour) response.cookies("MONCOOKIE").Expires = Date + validitecookie exit for end if next end if ' ----------------------------------------------------------------------------------------------------------------- ' On lit le cookie. si il est vide : niveau 4 protect=request.cookies("MONCOOKIE") if protect="" then protect="4" end if %> |
</td> </tr> <tr> <td align="middle"> (ou avec SESSION)
</td> </tr> <tr> <td align ="middle">
<% Session("MASESSION") = "" ' si le visiteur a validé le formulaire if (request.form("LELOGIN")<>"" and request.form("LEPASS")<>"") then ' on compare avec la liste for i = 1 to ubound(password) ' si le login et le mot de passe sont bons if (request.form("LELOGIN")=password(i,1) and request.form("LEPASS")=password(i,2)) then ' on stocke le niveau dans une variable de session Session("MASESSION") = password(i,3) ' on definit la duree de vie de la session en minutes (ici 1 heure) Session.TimeOut = 60 exit for end if next end if ' ----------------------------------------------------------------------------------------------------------------- ' On lit la variable de session. si elle est vide : niveau 4 protect = Session("MASESSION") if protect="" then protect="4" end if %> |
</td> </tr> </tbody> </table>
_protectpage.asp
(avec COOKIE) | (avec SESSION) |
- <% ' ------------------------------------------------------- ' Remplacer le mot MONCOOKIE ' par LE MEME que dans _protect.asp ' ------------------------------------------------------- ' On lit le cookie protect = request.cookies(\"MONCOOKIE\") ' si vide >> niveau 4 if (protect = \"\") then protect=\"4\" end if %> </td> |
</td> <td align="middle" width="50%">
<% ' ------------------------------------------------------- ' Remplacer le mot MASESSION ' par LE MEME que dans _protect.asp ' ------------------------------------------------------- ' On lit la session protect = Session("MASESSION") ' si vide >> niveau 4 if (protect = "") then protect="4" end if %> |
</td> </tr> </tbody> </table> index.asp (celui du dossier ADMIN)
<%
' -----------------------------------------------------------------------------------------------------------------
' Accès autorisé si identifié
if protect<\"4\" then %>
> ADMINISTRATION DU SITE
<%else
' -----------------------------------------------------------------------------------------------------------------
' sinon affichage du formulaire d'identification
%>
<FORM action=\"index.asp\" method=\"POST\">
Utilisateur :
Mot de passe :
</FORM>
<%end if%>
</td>
<!-- #include file="_protect.asp"--> <html><head><title></title></head> <table> |
</html>
</td> </tr> </tbody> </table>
Vos pages à protéger Ajouter en tout début de chaque page à protéger :
<!-- #include file="_protectpage.asp"--> <% if protect<"4" then %> |
Pour gérer les différents niveaux de protection , on remplace par :
<% if protect<"2" then %> (Accès 1 pour le webmestre uniquement) <% if protect<"3" then %> (Accès 1+2 pour le webmestre et administrateurs) <% if protect<"4" then %> (Accès 1+2+3 pour le webmestre, administrateurs et collaborateurs) |
= = Ajouter en toute fin de chaque page à protéger : ==
<% else %> Vous n'avez pas accès à cette page. <% end if %> |
- on insère dans les pages le formulaire :
<form method="POST" action="_deconnexion.asp">
</form> |
:
(avec COOKIE) | (avec SESSION) |
- <% ' deconnection ' ------------------------------------------------------- ' on vide/detruit le cookie response.cookies(\"MONCOOKIE\")=\"\" ==cookies("MONCOOKIE").Expires = Date-1== ' ------------------------------------------------------- ' Redirection vers le site response.redirect(\"http://www.MONSITE.com\") %> </td> |
</td> <td align="middle" width="50%">
<% ' deconnection ' ------------------------------------------------------- ' on vide/detruit la session Session.Contents.Remove("MASESSION") ' ------------------------------------------------------- |
</td> </tr> </tbody> </table>