Protection de page grace aux variables sessions

Soyez le premier à donner votre avis sur cette source.

Snippet vu 24 880 fois - Téléchargée 35 fois

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

Ajouter un commentaire

Commentaires

tazenzaret
Messages postés
25
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
15 novembre 2008
-
bonjour;
est ce qu'il y a un code plus detaillé, parceque je suis un debutant j ai pas compris bien
merci d avance
fenek80
Messages postés
1
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
27 juin 2003
-
J aimerai savoir svp les gars comment choisir les pages que l on veut inclure.
qu elle est la commande en asp.net pour include
rudyboy
Messages postés
12
Date d'inscription
jeudi 5 juin 2003
Statut
Membre
Dernière intervention
12 juin 2003
-
salut
je suis d'accord avec GLT, il vaut mieux faire un Server.URLEncode(URL) avant de le rajouter dans l'url de redirection.
Sinon code utile.

Rudy
-----
cs_manioc
Messages postés
20
Date d'inscription
mardi 21 mai 2002
Statut
Membre
Dernière intervention
10 juin 2002
-
Salut,
j'ai testé ton code et il marche super bien, par contre dans mon formulaire d'inscription, il y a le nom et le prénom, PWD et login, une fois qu'il se connecte en saississant son pwd et son mot de passe je voudrais afficher le nom et le prénom mais ça ne marche pas, ci dessous ma requête sql.

SELECT Nom, prenom
FROM membres
WHERE Nom = 'MMColParam'
cs_GLT
Messages postés
12
Date d'inscription
vendredi 22 février 2002
Statut
Membre
Dernière intervention
3 février 2005
-
pour jeromax, tu peux essayer de remplacer le caratère & qui met tes paramètres les un derriere les autres par %26
Au final, dans la page connexion, le %26 se transforme en & et le tour est joué.

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.