exercice
1
Mettre en place et tester des cgi écrits en C pour * afficher "Hello, world" dans le navigateur * afficher "Hello, xxxx" dans le navigateur, où xxxx aura été transmis par une requête HTTP de type GET * afficher "Hello, xxxx" dans le navigateur, où xxxx aura été transmis par une requête HTTP de type POST
2
Ecrire un script PHP pour lire un fichier JPEG que vous aurez rapatrié vers votre espace disque (suggestion : en utilisant la fonction PHP fread()) et envoyer le contenu du fichier lu vers la sortie standard.
Faire en sorte que l'image soit affichée par le navigateur web.
3
Rappel : Dans le répertoire http://tuxa.sme.utc/~sr03/phpinfo/ il y a un script setcookie.php qui accepte des arguments passés dans la QUERY STRING de la commande GET (ou via une commande POST) et qui provoque l'envoi d'un cookie dans les en-têtes de réponse.
Ces arguments (tous facultatifs) sont :
-
name : le nom du cookie ("cookieName", au cas où cet argument ne serait pas fourni)
-
value : sa valeur ("cookieValue", au cas où cet argument ne serait pas fourni)
-
path : le chemin sur le serveur que le cookie concerne ("/", au cas où cet argument ne serait pas fourni)
-
domain : le domaine d'application du cookie ("tuxa.sme.utc", au cas où cet argument ne serait pas fourni)
-
expireseconds : nombre de secondes de validité (au cas où cet argument ne serait pas fourni, le cookie expirera à la fermeture du navigateur)
Ecrire votre propre script setcookie.php pour faire la même chose. Vous pouvez le tester en utilisant le formulaire HTML réalisé lors d'un précédent TD.
4
Ecrire un script PHP button.php pour afficher un bouton HTML, en utilisant cette syntaxe :
<input type="button" ........ >
Le fait de cliquer sur le bouton doit solliciter un autre script display.php. Utiliser du code JavaScript, et non une balise <form action=........ >;, pour charger display.php.
5
Dans button.php ajouter un appel à session_start() et initialiser quelques variables de session.
Dans display.php initialiser d'autres variables de session, avant d'afficher l'ensemble des variables de session grâce à un appel à print_r().
6
On devient parano, on supprime l'ensemble des cookies stockés par son navigateur, et on configure le navigateur pour ne plus accepter aucun cookie.
Refaire tourner button.php et display.php. Observer ce qui change
7
En conservant cette configuration parano du navigateur, modifier button.php et display.php de manière à ce que les variables de session soient communiquées correctement entre les deux scripts. Il ne s'agit en aucun cas de retransmettre l'ensemble des données de session via le client web en les encapsulant dans des messages HTTP ; ces données de session se trouvant déjà sur le serveur (et pouvant être volumineuses), on évite de consommer inutilement de la bande passante.
8
Réaliser et tester un cgi setcookie.cgi pour faire la même chose que setcookie.php, à l'aide de la librairie C CGI-LIB, que vous aurez compilée après l'avoir téléchargée ici.