Protection de page grace aux variables sessions

Contenu du snippet

Il sufit de créer:
- une page de test de la variable session: FinDeSession.asp
- une page de connection : connection.asp

Source / Exemple :


FinDeSession.asp:
<%
if Session("identifiant")="" then
   UrlOrigine=Request.ServerVariables ("URL") & "?" & request.querystring
   Response.Redirect ("connection.asp?URL=" & UrlOrigine)
end if
%>

connection.asp  :
je ne la détaille pas mais on fait une demande de test de la validité du log et du PWD:
<%
'si le mot de passe n'est pas valide
Session("identifiant")="" 
'+ traitement en conséquence
 
'si la connection est valide
Session("identifiant")="ok" 
response.redirect(request.querystring("URL"))
%>

Il suffit alors d'inclure au début de toutes les pages de votre site la ligne suivante:
<!-- #include file="FinDeSession.asp" -->

Conclusion :


L'utilisateur est automatiquement redirigé vers la page de connection si son mot de passe n'est pas bon ou si il a essayé d'accéder directement à une page du site sans être passé par la page de connection ou si le session.timeout a été dépassée.
L'avantage supplémentaire, c'est que vous gardez la page à partir de laquelle l'utilisateur a été redirigé: une fois sa connection effectuée,il est redirigé de nouveau vers la page où il était. Cool non?

Pour les néophytes: j'utilise ici des adresses relatives, mais on peut utiliser des adresses absolues si toutes vos pages ne se trouvent pas dans le même répertoire (ce que je conseille d'ailleur de faire, parce que sinon, sur des gros projet ça devient vite la zone!).
L'interet d'utiliser des variables sessions c'est qu'il est impossible que le client puisse y accéder (et donc de les modifier): seul le serveur a la main dessus.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.