> Tech > Maintenir l’état

Maintenir l’état

Tech - Par Renaud ROSSET - Publié le 24 juin 2010

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 cette ressource

Microsoft 365 Tenant Resilience

Microsoft 365 Tenant Resilience

Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.

Les plus consultés sur iTPro.fr

A lire aussi sur le site

À la une de la chaîne Tech