IUT d Orléans. Département Informatique. Année 2015-2016. Dévelopement Web Licence Professionnelle Web et Mobile



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

Cours CCNA 1. Exercices

PORTAIL INTERNET DECLARATIF. Configuration du client Mail de MICROSOFT VISTA

Programmation Internet Cours 4

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

Programmation Web. Madalina Croitoru IUT Montpellier

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

Services sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée

Quelques protocoles et outils réseaux

Vulnérabilités et sécurisation des applications Web

Paramétrage de compte mail netplus sur iphone et ipad

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

Présentation Internet

18 TCP Les protocoles de domaines d applications

Configuration de base de Jana server2. Sommaire

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

Bon ben voilà c est fait!

Hébergement de site web Damien Nouvel

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

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

ECOLE POLYTECHNIQUE DSI. Utilisation des serveurs mandataires («proxy») avec les protocoles d usage courant

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Architectures web/bases de données

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

CONFIGURATION DE LA RECEPTION DES MAILS EN POPS.

Serveur mail sécurisé

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

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

Développement des Systèmes d Information

(structure des entêtes)

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

TP1 - Prise en main de l environnement Unix.

SE CONNECTER A LA MESSAGERIE ACADEMIQUE ET A CIRCON SCRIPT

Manuel d'installation de Joomla 1.7

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

MANUEL D INSTALLATION Sous WINDOWS

Tous les logiciels cités dans ce document sont des marques déposées de leurs propriétaires respectifs

Club informatique Mont-Bruno Séances du 18 janvier et du 17 février 2012 Présentateur : Michel Gagné

WDpStats Procédure d installation

Configuration de Outlook Express 6 pour utilisation avec belgacom.net

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

Surveiller et contrôler vos applications à travers le Web

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

L installation du module Webmail nécessite également quelques prérequis, à savoir :

Projet Administration Réseaux

Travaux Pratiques Introduction aux réseaux IP

Logiciel de connexion sécurisée. M2Me_Secure. NOTICE D'UTILISATION Document référence :

Installation et configuration d OCS/GLPI sur un Serveur Debian

Administration du Client Web

One2net. Manuel de l administrateur - PRINCIPES DE BASE. Services internet

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

Pratique et administration des systèmes

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Transfert d un site local vers un serveur. NPDS REvolution 13. Rédaction : Axel Relecture : Dev & Jpb

Compte rendu d'activité PTI n 2

4. SERVICES WEB REST 46

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

TP Protocoles SMTP et POP3 avec Pratiquer l algorithmique

Joomla! Création et administration d'un site web - Version numérique

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

TP PLACO. Journées Mathrice d'amiens Mars 2010

Formation Webmaster : Création de site Web Initiation + Approfondissement

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

Groupe Eyrolles, 2003, ISBN : X

Guide de configuration. Logiciel de courriel

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

PROCEDURE D'INSTALLATION OPENREPORTS

SERVEUR DE MESSAGERIE

Chapitre 2 Accès aux partages depuis votre système d'exploitation

Guide pour la configuration d adresse

Security and privacy in network - TP

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Tutoriel compte-rendu Mission 1

contact@nqicorp.com - Web :

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

Serveur d application WebDev

Découverte d aesecure. Par Christophe Avonture, développeur d aesecure

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

Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : et un masque

Introduction : L accès à Estra et à votre propre espace Connexion Votre espace personnel... 5

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

AJOUTER UN COMPTE DE MESSAGERIE SUR UN SMARTPHONE

Installation Iconito École Numérique 2010 sous Windows WampServer

Installation sur site Cloud Privé Client. Procédure de connexion à YaZiba.net avec Thunderbird et Lightning. Système Hébergé Cloud Public Yaziba.

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

Installation de Concrete 5

Réseaux et protocoles Damien Nouvel

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

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

TelSurvey Système CATI pour LimeSurvey 11 novembre Manuel administrateur

Ce manuel vous accompagne au long des procédures d installation et de restauration de PheBuX 2004 [alternative solutions]

CONTACT EXPRESS 2011 ASPIRATEUR D S

Comment utiliser mon compte alumni?

Serveurs de noms Protocoles HTTP et FTP

NAS 109 Utiliser le NAS avec Linux

Quels fondements, services fonctionnalités et limites de l intranet?

Mise en œuvre des serveurs d application

Transcription:

IUT d Orléans. Département Informatique. Année 2015-2016 Dévelopement Web Licence Professionnelle Web et Mobile TD-TP Serveurs Web, HTTP et autres protocoles - Formulaires HTML5 - PHP 1 Exercice 1 Le protocole SMTP Utilisation du protocole Simple Mail Transfert Protocol : Envoi d un message. Envoyer manuellement un mail en utilisant la commande telnet ou netcat pour se connecter au port 25 de le serveur smtp.univ-orleans.fr Ecrire un petit programme en Java vous permettant d envoyer un mail. i m p o r t getpass, p o p l i b Code 1 Connexion à POP3 SSL Mailbox = p o p l i b. POP3 SSL ( m a i l e t u. univ o r l e a n s. f r, 9 9 5 ) Mailbox. user ( login ) passwd = getpass. getpass ( Password : ) Mailbox. pass ( passwd ) nummessages = l e n ( Mailbox. l i s t ( ) [ 1 ] ) f o r i i n range ( nummessages ) : f o r msg i n Mailbox. r e t r ( i + 1 ) [ 1 ] : p r i n t ( msg ) Mailbox. q u i t ( ) Exercice 2 Le protocole POP3 Utilisation du protocole PostOffice Protocol. On va maintenant récupérer un mail sur mailetu.univ-orleans.fr ou sur toute autre messagerie POP3 accessible. Assurez-vous d avoir au moins un message en attente sur cette messagerie. Quel serait l échange si cette connexion n était pas sécurisée? En utilisant POP3 SSL dans la librairie poplib tapez le code Python ci-dessus qui vous permet de récupérer vos messages. Mettez comme login la lettre o suivie de votre numéro d étudiant. 1

Exercice 3 Apache Sur chaque machine de l IUT tourne un serveur Web Apache Connectez-vous sur http ://localhost pour vous en assurer Créez un répertoire www à la racine de votre HOME contenant une page Web simple de test. Procédez à sa publication en vérifiant que tous les contenus de ce dossier son accessibles à tout le monde en lecture. Attention, les répertoires doivent aussi être traversables ce qui inclus votre HOME. Les commandes à faire sont donc généralement : chmod -R a+rx /www et chmod a+x. Ces commandes sont à faire une seule fois et dépendent de la configuration spécifique du serveur. Si les modules suexec et suphp d Apache sont activés, les droits sont plus simples à configurer! Attention : Les fichiers n ont pas à être exécutables! C est une faille de sécurité que de rendre tout exécutable ou de tout mettre en écriture pour tout le monde. Ne le faites pas! Visualisez votre site dans un navigateur à l adresse http ://localhost/ vous où vous est votre nom de login. Consultez les fichiers de configuration d Apache dans /etc/apache2/. En cas de souci avec Apache, testez le serveur Web intégré de Python 3 : python3 -m http.server Exercice 4 Le protocole HTTP Utilisation du protocole HyperText Transfer Protocol. On va maintenant se connecter directement sur un serveur Web. Faire un telnet ou un netcat sur le port 80 d une machine sur laquelle tourne un serveur web et essayez de communiquer avec le serveur par le protocole HTTP. Essayez essentiellement GET / Que constatez-vous? Que se passe-t-il si vous demandez une page qui n existe pas (par exemple GET /toto)? Observez les échanges entre le navigateur et le serveur Web en utilisant l onglet réseau des outils de developpement. Exercice 5 Espionnage du protocole HTTP. 1. Lancez le programme fourni java ServeurProxyMiroir sur un port autorisé. 2. Comment utiliser ce programme pour espionner la communication HTTP entre votre navigateur et le proxy de l Université? 3. Lancez le sur le port 5555 par exemple 4. Faites les réglages nécéssaires sur votre navigateur Chrome pour que cela devienne le proxy : chromium-browser --proxy-server=localhost:5555 5. Ouvrez une page Web de votre choix puis observez les fichiers miroir.xx créés. Ils contiennent les traces des échanges entre votre navigateur et le serveur. 6. Que veut dire le paramètre q=0.x observé dans certains échanges? Le protocole HTTP Code 2 Hello World en CGI 2

#! / bin / bash # s h e l l s c r i p t c a t <<EOF Content type : t e x t / p l a i n h e l l o world! EOF Exercice 6 CGI La configuration d Apache ne vous permettant pas d utiliser les CGI dans votre HOME, on peut utiliser le serveur CGI fourni par Python 3 : python3 -m http.server --cgi 8000 à partir du répertoire www contenant un dossier cgi-bin dans lequel vous aurez placé hello.cgi ci-dessus. Le fichier hello.cgi doit être rendu exécutable. Puis pointez votre navigateur sur http://localhost:8000/cgi-bin/hello.cgi Exercice 7 1. Ecrivez un formulaire simple avec saisie d un nom et d un prénom dans des champs texte 2. Ecrivez un script bash qui récupérera les valeurs de ces champs et qui affichera les variables d environnement concernant le client. Le script cgi doit se trouver dans www/cgi-bin et le formulaire dans www. 3. Testez la validation du formulaire par un POST ou un GET Formulaires en CGI 4. Comment faire un formulaire permettant d uploader une photo et un CGI qui la transforme en niveau de gris avant de l afficher? On pourra utiliser l utilitaire convert d Imagemagick. daemon o f f ; w o r k e r p r o c e s s e s 1 ; pid tmp / run / nginx. pid ; e r r o r l o g tmp / log / e r r o r l o g i n f o ; e v e n t s { w o r k e r c o n n e c t i o n s 1024; Code 3 fichier ngninx.conf h t t p { i n c l u d e / e t c / nginx / mime. types ; d e f a u l t t y p e a p p l i c a t i o n / o c t e t stream ; c l i e n t b o d y t e m p p a t h tmp / c l i e n t ; p r o x y t e m p p a t h tmp / proxy ; f a s t c g i t e m p p a t h tmp / f a s t c g i 1 2 ; uwsgi temp path tmp / uwsgi ; s c g i t e m p p a t h tmp / s c g i ; 3

s e n d f i l e on ; i g n o r e i n v a l i d h e a d e r s on ; i n d e x i n d e x. html ; s e r v e r { l i s t e n 1 2 7. 0. 0. 1 : 8 0 8 0 ; server name l o c a l h o s t ; a c c e s s l o g tmp / log / a c c e s s l o g ; e r r o r l o g tmp / log / e r r o r l o g i n f o ; r o o t www; l o c a t i o n \. cgi$ { i n c l u d e / e t c / nginx / f a s t c g i p a r a m s ; f a s t c g i p a s s u n i x : tmp / run / f c g i. sock ; Exercice 8 Fonctionnement avec nginx On peut aussi utiliser le serveur Web NGINX pour lancer des CGI avec le module fcgiwrap : Dans le répertoire du projet web, /www, ajoutez le fichier nginx.conf précédent. il faut aussi créer les répertoires suivants : tmp tmp/run tmp/log placer un script cgi dans www, par exemple hello.cgi vu ci-dessus. le rendre exécutable. ensuite, dans un terminal, lancez fcgiwrap : fcgiwrap -s unix:tmp/run/fcgi.sock et dans un autre nginx -c nginx.conf -p $PWD testez dans un troisième : wget -O - http://localhost:8000/hello.cgi 2>/dev/null Exercice 9 Les Formulaires HTML5 et JS Mettre en place un petit formulaire interrogeant une personne sur son identité, son adresse mail, son téléphone, les langues maitrisées, etc. avec des zones de texte, des listes déroulantes, radio et cases à cocher, et si possible un slider, une date. Utiliser un tableau et des checkboxs pour saisir la liste des langues parlées. On utilisera la méthode GET de soumission du formulaire. Expérimentez-là avec un bouton Submit. Utilisez les principaux nouveaux champs HTML5 comme email, tel, et des attributs comme required ou pattern pour effectuer des vérifications simples de validité des entrées. On effectuera les vérifications plus complexes (comme vérifier qu une date est valide ou ne tombe pas un dimanche) en JavaScript. 4

Exercice 10 Les Formulaires HTML5 et leur réponse en PHP Programmez à présent la réponse à ce formulaire en PHP. Faites d abord un simple récapitulatif des données saisies par l utilisateur. Dans un second temps procédez côté serveur à toutes vérifications déjà faites côté client. Utilisez pour cela des expressions régulières ou des filtres PHP. Le formulaire avec toutes ses vérifications côté client, un CSS agréable, si possible responsive et sa réponse en PHP avec toutes ses vérifications côté serveur est à rendre pour le 18 Septembre à votre enseignant de TD via le dépôt Celene prévu à cet effet. 5