Protection de page grace aux variables sessions

Soyez le premier à donner votre avis sur cette source.

Snippet vu 25 586 fois - Téléchargée 37 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
18 sept. 2008 à 20:04
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
27 juin 2003 à 09:44
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
5 juin 2003 à 16:41
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
31 mai 2002 à 17:12
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
5 mars 2002 à 09:03
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.