Accueil  Contact
 

 

 

Le but de cette page est de vous initier aux rudiments de la programmation ASP sans pour autant prétendre à l'exaustivité. Cependant, sans en faire des astuces, vous aurrez les informations essentielles pour vous lancer dans la programmation de votre page ou site ASP.

La session : Pourquoi n'est-elle pas fiable ?

Une session débute lorsque le connecté arrive sur le site et se termine au dela d'un certain délais d'inactivité, determiné par Session.TimeOut. 

  • Lors de la connexion d'un nouvel utilisateur = > Session_OnStart (dans Global.asa)
  • Lors de la fin de session du connecté = > Session_OnEnd (dans Global.asa)

mais la aussi, c'est très théorique,

Pour qu'une seule et même session accompagne le connecté durant toute la visite du site, il faut que celui (son navigateur) accepte les cookies non persistents.

Qu'est qu'un cookie non persistent ?

Une information transmise par le serveur Web au navigateur du client. Cette information est ensuite retournée au site à chaque requête (demande de page). Contrairement à un cookie classique, qui peut-être conservé sur disque avec l'heure de votre dernière viste, un cookie non persistent est automatiquement effacé lorsque vous coupez la connexion avec le site.

A quoi ressemble t-il ?

Nom du cookie : ASPSESSIONIDGGQQGHED
Données du cookie : CIOBOILBMHCKEMMOIHBAEPDH

Mais lors que se passe t-il si le client refuse les cokkies non persistents ?

A chaque demande de page, le serveur considère qu'il s'agit d'une nouvelle connexion et démarre une nouvelle session, en créant un nouvel Objet Session.

Ceci est très ennuyeux pour les sites purement ASP qui stockent des informations utiles dans des variables "Session". Lors de l'accès à une nouvelle page, les informations stockées dans la page précédente sont perdues.

Un bon moyen de savoir si le client accepte les cokkie non persistents est de déclarer une variable sur la page d'acceuil et de la tester dès la seconde page. Si celle ci est vide, le client n'accepte pas les cookie non persistents.

Ex :
Page d'accueil :

<% Session("TestCookie") = "Hello" %>

Page 2 :  

<% if Session("TestCookie") <> "Hello" then Response.Redirect("Avertir.asp") %>


Dans cet exemple, si sur la page 2, la variable est d'une valeur différente de celle attendue, on redidige le connecté sur une page d'avertissement. 

NB : Pour que ce code fonctionne sans erreur, vous devez initialiser la variable Response.Buffer = True 


Mais alors que faire?

Vous n'avez malheureusement pas 36 solutions. Soit, vous redirigez toutes les personnes qui n'acceptent pas les cookies persistents vers une page d'avertissement qui leur explique que les cookies non persistents sont innofensifs, soit vous passez les informations utiles via des paramètres d'url. Autre solution, très peu élégante et inconcevable sur un site fréquenté, vous écrivez chaque information dans un fichier que vous relisez à chaque page.

Tutoriels   Précédent


Delphicenter est un service proposé par Cotelem™. 1997-2008