LES SCRIPTS CGI. Présentation Mise en œuvre La programmation Les variables d environnement

Documents pareils
Installation d un hébergement Web à domicile

Serveurs et environnements de développement. Serveur Web

CGI et SSI. La programmation CGI. Sources. Objectifs. Qu'est ce qu'un programme CGI? CGI

SERVEUR HTTP Administration d apache

(structure des entêtes)

Dans l'épisode précédent

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

L3 informatique TP n o 2 : Les applications réseau

Hébergement de site web Damien Nouvel

Préparation d un serveur Apache pour Zend Framework

Faire fonctionner symfony sous wamp et windows avec des vhost. Installation de wamp

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

REPARTITION DE CHARGE LINUX

Tutoriel compte-rendu Mission 1

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Bases de données et Interfaçage Web

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

SERVEUR WEB LINUX LAMP. Raymond RAZAFIMAMONJY Administration LINUX / UNIX Chapitre 15

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Internet. Web Sécurité Optimisation

Procédure d'installation

WebSSO, synchronisation et contrôle des accès via LDAP

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Architectures web/bases de données

Programmation Web. Introduction

Stockage du fichier dans une table mysql:

Application Web et J2EE

Développement des Systèmes d Information

Module 7 : Configuration du serveur WEB Apache

Module BD et sites WEB

Comment avoir le logiciel? Le serveur web APACHE peut être téléchargé gratuitement du site web de APACHE:

Le serveur HTTPd WASD. Jean-François Piéronne

CYBERGATE -TP-APACHE_2.DOC

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

UE5A Administration Réseaux LP SIRI

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

TP Service HTTP Serveur Apache Linux Debian

Procédure d'installation du serveur Apache HTTPD pour Windows

TD4 - Supervision et métrologie des réseaux. 1 Supervision des applications et services réseaux et des ressources locales

«Cachez-moi cette page!»

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

BTS SIO Dossier BTS. PURCHLA Romain

2011 Hakim Benameurlaine 1

Serveurs de noms Protocoles HTTP et FTP

Sauvegarder la base de données de Drupal avec le module Backup and Migrate

Bases de Données et Internet

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Mise en œuvre des serveurs d application

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

LAMP : une nouvelle infrastructure LAMP. Une architecture modulaire. Installation

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

Programmation Web. Madalina Croitoru IUT Montpellier

Langage W4. Note technique W4 Engine

Différentes installations sur un serveur Windows 2000 ou 2003.

Serveur Subversion Debian GNU/Linux

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

Projet de Semestre. Page Web Didactique de Visualisation d Algorithme. Université de Genève - semestre de printemps 2012

4. SERVICES WEB REST 46

Techniques de Programmation pour Internet

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Installation locale de JOOMLA SEPIA

Zoom sur Newtest LDAP intégration

Réaliser un inventaire Documentation utilisateur

Architectures Web Services RESTful

Les serveurs WEBUne introduction

Transfert de fichiers (ftp) avec dreamweaver cs5 hébergement et nom de domaine. MC Benveniste

Mac OS X Server Administration des technologies Web. Pour la version 10.3 ou ultérieure

Service de certificat

Installation Installation. Windows. Tout-en-un. Un livre de Wikilivres.

1. La plate-forme LAMP

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Hébergement de sites Web

Petit guide pour l installation de CVW sous Linux

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Les solutions de paiement CyberMUT (Crédit Mutuel) et CIC. Qui contacter pour commencer la mise en place d une configuration de test?

Formation : WEbMaster

Configuration du serveur Web Apache. Master 1 STIC-Informatique 1

Table des matières Hakim Benameurlaine 1

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

Développement Web. Les protocoles

Internet Information Server. Conçu et réalisé par Denis Szalkowski Formateur consultant

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Installation et configuration d Apache sous Linux RedHat 7.1. Pascal AUBRY Ambroise DIASCORN IFSIC Université de Rennes 1

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Installation GLPI-OCSNG-SSL Linux Debian Sarge

TP JAVASCRIPT OMI4 TP5 SRC

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft

Transcription:

LES SCRIPTS CGI Présentation Mise en œuvre La programmation Les variables d environnement

LES SCRIPTS CGI Présentation Mise en œuvre La programmation Les variables d environnement

OBJECTIFS Historiquement, site web dynamique : traitement des formulaires. Disparition des scripts CGI sur les sites web Très utilisés sur les systèmes embarqués car ils sont simples d'utilisation et leur mise en place ne demande que peu de ressources.

DÉFINITION Common Gateway Interface : interface de passerelle commune Programme exécuté par le serveur web permettant d'envoyer au navigateur de l'internaute un code HTML créé automatiquement par le serveur Interface indépendante du langage : C, Python, PHP, script shell, Java,

FONCTIONNEMENT 1. L'utilisateur appelle un "script" CGI sur le serveur Apache ; 2. Le serveur Apache transmet la requête au programme appelé ; 3. Le programme appelé génère un fichier résultat en sortie ; 4. Le fichier résultat est envoyé au serveur web qui le met au format HTML ; 5. Le fichier HTML résultat est envoyé par le serveur sur l e web ; 6. Le fichier résultat est affiché sur le poste de l'utilisateur.

LES SCRIPTS CGI Présentation Mise en œuvre La programmation Les variables d environnement

INSTALLATION Répertoire spécifique pour les scripts CGI Configuration du serveur Apache pour prendre en compte ce répertoire (C:\wamp\bin\apache\apache2.2.8\conf)

EXÉCUTION DU SCRIPT Copie du script (langage interprété) ou de l exécutable dans le répertoire dédié Lancement dans le navigateur

EXEMPLE DE CODE // Programme CGI permettant d'afficher le nom du serveur web sur lequel il est exécuté #include <iostream> using namespace std; void main() { // Définition des variables char *server_name; // Récupération de la variable CGI correspondante server_name = getenv("server_name"); // Indication du type de fichier retourné cout <<"Content-type: text/html\n\n"; // Affichage du résultat cout << "<html><header><title>nom du serveur</title></header><body>"; cout << "<b>nom du serveur</b> : " << server_name <<"</body></html>"; }

LES SCRIPTS CGI Présentation Mise en œuvre La programmation Les variables d environnement

CONTENU DU FICHIER Sortie standard (cout) du programme -> fichier à envoyer Première ligne du fichier : en-tête HTTP permettant de préciser le type de contenu envoyé au navigateur : fichier html : «content-type : text/html» fichier gif : «content-type : image/gif» fichier quicktime : «content-type : text/quicktime»

CAS D UN FICHIER HTML content-type : text/html\n\n le premier saut de ligne sert simplement à retourner à la ligne ; le second sert à créer la ligne vide séparant les entêtes HTTP du corps du message, comme le veut la spécification du protocole HTTP La suite : le fichier HTML classique

RÉCUPÉRATION DES INFORMATIONS Demande de la page suite à un formulaire (méthode GET ou POST) Forme : Nom_de_l_element=valeur Plusieurs informations séparées par des & : champ1=valeur1&champ2=valeur2&champ3=va leur3 Récupération par les variables d environnement ou par l entrée standard stdin

LES SCRIPTS CGI Présentation Mise en œuvre La programmation Les variables d environnement

DÉFINITION Rappel : données stockées dans des variables du système et permettent aux programmes d'avoir des informations sur son environnement Deux catégories : Les variables d'environnement relatives au client Les variables d'environnement relatives au serveur

DONNÉES DU FORMULAIRE HTTP_REQUEST_METHOD : Variable qui indique le type de méthode utilisée pour envoyer les données au programme CGI. Il s'agit de GET, HEAD, POST, PUT ou DELETE. Méthode GET : QUERY_STRING : Partie de l'url (ayant servi à accéder au script CGI) située après le point d'interrogation. Méthode POST : Les données présentes dans le corps de la requête sont accessibles via le fichier de flux d'entrée standard nommé STDIN

INFORMATIONS SUR LE SCRIPT ET LE SERVEUR SCRIPT_FILENAME : Chemin d'accès complet au script CGI SCRIPT_NAME : Chemin d'accès relatif (par rapport au chemin d'accès à la racine web) au script CGI SERVER_PORT : Port TCP auquel les données ont été envoyées (généralement le port 80) SERVER_PROTOCOL : Nom et version du protocole utilisé pour envoyer la requête au script CGI

EXEMPLE Récupération des variables d environnement par la fonction du langage (getenv en C) char *server_name; server_name = getenv("server_name");

INSTALLATION POUR WAMPSERVER Modification du fichier : <Directory "cgi-bin"> AllowOverride None Options Indexes FollowSymLinks ExecCGI Order allow,deny Allow from all </Directory> AddHandler cgi-script.cgi Copie des fichiers cgi uniquement dans le fichier cgi-bin de www