begin process at 2012 05 24 16:44:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ColdFusion

 > 

Divers

 > 

Général

 > 

CFLock indispensable aux variables de session ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

CFLock indispensable aux variables de session ?

jeudi 24 août 2006 à 16:03:41 | CFLock indispensable aux variables de session ?

donatejj

Bonjour à tou(te)s,

Est-il indispensable de "locker" l'écriture et la lecture des variables de session dans un site en intranet et quels sont les risques concrets si on ne le fait pas ?

Contexte :

      * CF 5 sur Windows 2000 server avec IIS 5
      * environ 50 utilisateurs concurentiels

D'avance merci,

Jean-Jacques.

jeudi 24 août 2006 à 17:11:20 | Re : CFLock indispensable aux variables de session ?

syndrael

Réponse acceptée !
Bonjour,
Perso je lock mes variables d'application, mais de session je ne vois pas l'interêt puisque ce sont des données que tu ne partages avec personne.
S.

vendredi 25 août 2006 à 10:29:22 | Re : CFLock indispensable aux variables de session ?

donatejj

Merci pour cette réponse.   Pas d'autre avis ?
samedi 26 août 2006 à 14:35:31 | Re : CFLock indispensable aux variables de session ?

nickadele

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !

Pourquoi faire un lock ?

En fait ce processus est utilisé si on souhaite éviter que 'n' traitements modifient la valeur d'une variable, donc lorsqu'un second (ou n) traitement (trhead) vient se présenter pour modifier la variable, il devra attendre que le traitement précédent ai terminé avant de pouvoir faire toute action.

Dans ton cas il s'agit d'un intranet donc le risque est faible qu'un petit malin essaye de foutre le b..... !
Mais pour une bonne programmation il est mieux d'utiliser ce mécanisme!

Ceci ne se limite pas aux variables d'application ou de session, en fait la notion de server, d'application ou de session définit le niveau d'attente du traitement c'est à dire le scope !
<cflock scope="server" ... : mettra en attente toutes demandes peu importe l'application ou l'utilisateur !
<cflock scope="application" ... : mettra en attente toutes demandes peu importe l'utilisateur !
<cflock  scope="Session" .... : mettra en attente toutes deamndes émanant d'une même session !

A cela il faut encore différencier une autre notion : le type
readonly ou exclusif : la notion exclusif appliquera le processus tel que décrit ci-dessus tandis que la notion readonly permettra plusieurs traitements (thread), il faut utiliser ce drenier mode uniquement pour l'initialisation de variables dites statique (constante)!

Voilà, en espérant t'avoir éclairé sur la question !

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle

samedi 26 août 2006 à 19:13:14 | Re : CFLock indispensable aux variables de session ?

syndrael

Réponse acceptée !
Bonjour Nick,
Peux-tu me dire comment on peut être amené à locker les variables de session ?
De mon coté je vois po l'interet, mais tu as peut-être une raison ki m'aurait échappé..
En tout cas ne po locker ses variables d'application est une grave erreur dans le cas d'un site à forte influence..
S.

dimanche 27 août 2006 à 13:55:58 | Re : CFLock indispensable aux variables de session ?

nickadele

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Hello syndrael,

il faut savoir qu'une session est lié à une machine et à un browser.
Si tu ouvres la même page avec 2 browser différents, tu obtiendras 2 sessions, par contre si tu ouvres la même page avec 2 fenêtres d'un même browser tu auras 1 session.

Donc imagine que lorsqu'un utilisateur s'identifie (ou autre traitement) sur ton site, tu lui crées une série de variables paramètres (variable objet etc...) lié à sa session avec des transactions sur la DB pour bien faire compliqué .
L'utilisateur pourrais utiliser 2 fenêtres (même session) et lancer en simultaner cette opération. Le deuxième appel pourrait arriver au moment ou le traitement du premier appel n'est pas terminé et ainsi rentrer en conflit avec le premier voir changer des valeurs initiales du premier traitement.

Un exemple vaut mieux que de long discourt :
Un utilisateur s'identifie avec un profil A et un profil B en simultané sur base du scénario décrit ci-dessus (2 fenêtres d'un même browser).
Le profil A étant différent de B, il initie certaines vairables à certaines valeurs, alors que A arrivent en fin de traitement il finalise la création du profil en modifiant certaines valeurs dans la DB sur base des variables initiales, et a ce moment B arrivent en modifiant les valeurs initiées par A !

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
dimanche 27 août 2006 à 15:14:04 | Re : CFLock indispensable aux variables de session ?

syndrael

Réponse acceptée !
Ah ouais ok.. mais ce n'est po dans mes pratiques de développement.. J'aime limiter à un écran la navigation.. et puis avec la folie Web2.0 je vois ke j'avais po foncièrement tort..
S.


lundi 28 août 2006 à 10:26:50 | Re : CFLock indispensable aux variables de session ?

donatejj

Merci pour vous réponses qui ont bien clarifié pour moi la problèmatique des variables de session et du Lock.
mardi 13 février 2007 à 22:45:57 | Re : CFLock indispensable aux variables de session ?

lmougin

Excusez, mais j'ai également les mêmes questionnements...
Et ce n'est pas encore bien clair pour moi.

Faut-il vraiment locker les variables (d'applications ou de sessions) si on ne fait que de la consultation de ces variables (et que l'on ne les modifies pas) ?

Question subsidiaire : peut-on juste faire un cflock en ReadOnly en début de page et le cflock à la fin ? ou il faut faire le lock juste avant l'appel à la variable ?

Merci !


Cette discussion est classée dans : variables, session, indispensable, cflock


Répondre à ce message

Sujets en rapport avec ce message

Differences entre session et client [ par edwige ] BonjourJe suis en train découvrir les sessions ColfFusion...est ce que quelqu'un connait la difference entre les variables de session et les variables Utiliser les variables de session [ par FRH ] Je désire utiliser des variable de session pour loguer l'utilisateur.Je déclare dans Application.cfm mes variables de session: name="CETEVIMSUD" setc DECONNEXION CFM [ par omconq ] bonjour à tousJ'utilise des variables de session .quand je me logge et que je ferme un page internet les variables de session reste activer (session.i Variables de session... [ par smathios ] Bonjour, juste une petite question :j'ai besoin de mettre à jour une variable de session lorsque l'internaute arrive sur une page donnée.Je procède co Récupérer les informations de session windows [ par red20100fr ] Bonjour à tous Une petite question pour un débutant.Je souhaite récupérer le login de session windows et créer des comptes correspondant pour l'accés Variables dynamiques [ par Rastafa ] On peut faire référence à une variable dynamiquement de cette façonEx.:Donc, la variable valeur va contenir 20Mais comment faire po import data fichier txt avec nbr champs variables par ligne [ par hakari ] Bonjour,Je cherche comment je pourrais à l'aide de CF 5.0 extraire tous les champs d'un enregistrement contenu dans un fichier texte vers un tableau, comment affecter une valeur à une variable de session via javascript? [ par adjanoh ] Salut Je voudrais affecter une valeur à une variable de session coldfusion via javascript. Est-ce possible? J'ai mis dans mon code js ce qui suit: se probleme avec date [ par jeltimed ] bonjour tout le monde. en fait je suis entrain de créer un site de vote électronique et donc vu que  la date du vote a son importance je recupere la variable environnement [ par dinver78 ] est-il possible de récupérer les variables de session windows, c'est-a-dire le nom d'utilisateur et mot de passe de la session windows ??si oui commen


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales