> Tech > Maintenir l’état

Maintenir l’état

Tech - Par iTPro - Publié le 24 juin 2010
email

Les pages Web générées par des programmes CGI présentent une autre importante différence avec les écrans passifs classiques : les pages Web CGI sont sans état. Autrement dit, le programme lit les entrées transmises par le protocole HTTP, effectue son traitement puis sort une page Web sans savoir ce qui

Maintenir l’état

s’est passé précédemment avec cet
utilisateur. Pour passer outre cette limitation,
vous pouvez maintenir l’état en utilisant des variables cachées, des
cookies, des mises à  jour de bases de
données de l’information utilisateur,
ou une combinaison de ces méthodes.
Voyons les deux premières possibilités.

Les variables cachées sont des variables
qui contiennent des données
mais ne sont pas visibles sur la page.
Elles sont codées sous la forme <input
type= »hidden » name= »myvariable » value= »/%
MyValue%/>. La valeur d’une
variable cachée est définie par le programme
CGI puis lue par le programme
invoqué par la page suivante.
Bien que ces variables soient cachées,
un utilisateur peut prendre connaissance
de leurs valeurs en visualisant la
source d’une page Web. Donc, elles
sont cachées, mais pas sécurisées.

Les cookies sont des en-têtes de
réponse qui permettent aux programmes
CGI de suivre certaines données.
De nombreux sites utilisent des
cookies, placés par le serveur hôte sur
les PC des visiteurs. Quand un visiteur
revient sur le site, le cookie est extrait
et le serveur sait qui le visite. La sousprocédure
CrtCookie de CGIDEV2
permet de créer un cookie très facilement.
Pour plus d’informations sur les
cookies, voir http://home.netscape.
com/newsref/std/cookie_spec.html.

Dans mon exemple, le cookie est
défini par l’intermédiaire de la source
HTML, donc il faut inclure une variable
dans la source dans l’en-tête de la manière
suivante :

/$top
Content-type: text/html
/%setmycookie%/

Le programme RPG exécute ensuite
le code de la figure 3. Ce cookie
expire quatre mois après sa création.
Pour créer un cookie de session qui ne
sera pas écrit sur le disque dur de l’utilisateur
mais disparaîtra quand l’utilisateur
quittera le navigateur, il suffit
d’omettre le paramètre « Expires ».

Dès lors qu’un cookie est créé, il
peut être extrait par les programmes
ultérieurs en utilisant la sous-routine
suivante (à  noter que le nom du cookie< doit être celui qui a été défini dans le programme qui l'a créé) :
C RtvMyCook begsr

C CookieVal=GetCookieByName(‘TUTOR’)

C Endsr

Téléchargez gratuitement cette ressource

Comment sécuriser la Digital Workplace ?

Comment sécuriser la Digital Workplace ?

Avec le recours généralisé au télétravail, les entreprises ont ouvert davantage leur SI. En dépit des précautions prises, elles ont mécaniquement élargi leur surface d’exposition aux risques. Découvrez 5 axes à ne pas négliger dans ce Top 5 Sécurité du Télétravail.

Tech - Par iTPro - Publié le 24 juin 2010