perl:programmation_web_cgi
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| perl:programmation_web_cgi [2009/03/15 01:13] – modification externe 127.0.0.1 | perl:programmation_web_cgi [2013/03/13 11:12] (Version actuelle) – root | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== CGI ====== | ||
| + | |||
| ====== 1. Programmation CGI simple ====== | ====== 1. Programmation CGI simple ====== | ||
| Ligne 6: | Ligne 8: | ||
| Un serveur web peut être configuré pour exécuter à la demande un script sous certaines conditions. Par exemple, avec Apache on peut utiliser cette directive pour exécuter automatiquement les fichiers //*.cgi// : | Un serveur web peut être configuré pour exécuter à la demande un script sous certaines conditions. Par exemple, avec Apache on peut utiliser cette directive pour exécuter automatiquement les fichiers //*.cgi// : | ||
| + | <code apache> | ||
| AddHandler cgi-script .cgi | AddHandler cgi-script .cgi | ||
| Options ExecCGI | Options ExecCGI | ||
| + | </ | ||
| Si l' | Si l' | ||
| + | <code perl> | ||
| # | # | ||
| | | ||
| Ligne 15: | Ligne 20: | ||
| print " | print " | ||
| print Dumper(\%ENV); | print Dumper(\%ENV); | ||
| + | </ | ||
| Alors la consultation de l'URL exécutera notre script et nous verrons les informations suivantes : | Alors la consultation de l'URL exécutera notre script et nous verrons les informations suivantes : | ||
| + | <code php> | ||
| $VAR1 = { | $VAR1 = { | ||
| ' | ' | ||
| Ligne 30: | Ligne 37: | ||
| ' | ' | ||
| }; | }; | ||
| + | </ | ||
| On constate alors que la communication **en entrée** avec le programme s' | On constate alors que la communication **en entrée** avec le programme s' | ||
| Ligne 36: | Ligne 44: | ||
| Enfin, le résultat correspond simplement à la **sortie standard** du programme, avec une contrainte importante: elle commence par les entêtes HTTP de la réponse (optionnels, | Enfin, le résultat correspond simplement à la **sortie standard** du programme, avec une contrainte importante: elle commence par les entêtes HTTP de la réponse (optionnels, | ||
| - | |||
| ===== Module CGI ===== | ===== Module CGI ===== | ||
| Ligne 42: | Ligne 49: | ||
| Exemple : | Exemple : | ||
| + | <code perl> | ||
| # | # | ||
| | | ||
| Ligne 60: | Ligne 68: | ||
| | | ||
| print end_html(); | print end_html(); | ||
| + | </ | ||
| La gestion des paramètres du CGI est très similaire à celle de //getopt//, sous la forme de paires clé/ | La gestion des paramètres du CGI est très similaire à celle de //getopt//, sous la forme de paires clé/ | ||
| Ligne 77: | Ligne 86: | ||
| Pour se préserver de surprises, Perl possède un mode de sécurité automatique appelé **taint mode**: toutes les informations en entrée (paramètres, | Pour se préserver de surprises, Perl possède un mode de sécurité automatique appelé **taint mode**: toutes les informations en entrée (paramètres, | ||
| + | <code perl> | ||
| # | # | ||
| | | ||
| Ligne 88: | Ligne 98: | ||
| $ENV{' | $ENV{' | ||
| system(" | system(" | ||
| + | </ | ||
| ====== 2. mod_perl ====== | ====== 2. mod_perl ====== | ||
| Ligne 101: | Ligne 111: | ||
| L' | L' | ||
| + | <code apache> | ||
| SetHandler perl-script | SetHandler perl-script | ||
| PerlHandler Apache:: | PerlHandler Apache:: | ||
| Options ExecCGI | Options ExecCGI | ||
| + | </ | ||
| Pour programmer des applications plus complexes basées sur mod_perl, la méthode la plus efficace est très probablement d' | Pour programmer des applications plus complexes basées sur mod_perl, la méthode la plus efficace est très probablement d' | ||
| - | |||
perl/programmation_web_cgi.1237079591.txt.gz · Dernière modification : (modification externe)
