Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ASP - ADMINISTRER en ligne : PROTECTION des PAGES


Information sur le tutorial

Catégorie :Tutoriaux Date de création : 26/08/2008 16:44:59 Vu : 979 fois

Note :
Aucune note

Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

Description

Principe :
1- Création d'un dossier (ADMIN) dans lequel on mettra toutes ses pages d’administration.
2- On accède alors simplement à son "espace d'administration en ligne" en tapant :
www.MONSITE.com/ADMIN
3- On donne ensuite son identifiant et son mot de passe pour accéder aux pages protégées.

Ici, je propose un accès à 3 niveaux (webmestre, administrateurs et collaborateurs),
avec cookie OU session.

Tutorial

Mon tutorial original se trouve ici :
http://www.asp-php.net/scripts/asp-php/protection-page.php

Les fichiers nécessaires :

_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


_protect.asp

(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
' -----------------------------------------------------------------------------------------------------------------
%>

(puis avec COOKIE)

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

(ou avec SESSION)

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

_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
%>

<%
' -------------------------------------------------------
' 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
%>

index.asp (celui du dossier ADMIN)

<!-- #include file="_protect.asp"-->
<html><head><title></title></head>
<body><div align="center">
<table>
<tr>
   <td align="center">
<%
' -----------------------------------------------------------------------------------------------------------------
' Accès autorisé si identifié
if protect<"4" then %>

   <a href="MONmenuADMIN.asp">&gt; ADMINISTRATION DU SITE</a>
<%else
' -----------------------------------------------------------------------------------------------------------------
' sinon affichage du formulaire d'identification
%>

   <FORM action="index.asp" method="POST">
      Utilisateur :<br><input name="LELOGIN" /><br><br>
      Mot de passe :<br><input name="LEPASS" type="password" /><br><br>
      <input type="submit" value="Valider" />
   </FORM>
<%end if%>
   </td>
</tr>      
</table>
</div></body></html>

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

Insérer un bouton de déconnexion dans ses pages :
- on insère dans les pages le formulaire :

<form method="POST" action="_deconnexion.asp">
<input type="submit" value="deconnexion" name="deconnexion">
</form>

_deconnexion.asp :

(avec COOKIE)

(avec SESSION)

<% ' deconnection
' -------------------------------------------------------
' on vide/detruit le cookie
response.cookies("MONCOOKIE")=""
response.cookies("MONCOOKIE").Expires = Date-1
' -------------------------------------------------------
' Redirection vers le site
response.redirect("http://www.MONSITE.com")
%>

<% ' deconnection
' -------------------------------------------------------
' on vide/detruit la session
Session.Contents.Remove("MASESSION") 

' -------------------------------------------------------
' Redirection vers le site
response.redirect("http://www.MONSITE.com")
%>


Aucun commentaire pour le moment.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,000 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.