Développement d’applications Web

Slides:



Advertisements
Présentations similaires
Cours de C – Séance dexercices 19 Octobre Objectif Ecrire un serveur HTTP Sans gérer la partie réseau, on utilisera un utilitaire pour cela Serveur.
Advertisements

ASP.NET 2.0 et la sécurité Nicolas CLERC
Université Nancy 2 - CRI Propositions de mécanisme de SSO dans un environnement d’applications web.
Principe d identification des internautes Au service du dataWebhouse Philippe Holland :
Xavier Tannier Yann Jacob Sécurite Web.
HTML Les types de balises
Le mécanisme de Single Sign-On CAS (Central Authentication Service)
TP 3-4 BD21.
Jérôme CUTRONA PHP et bases de données Jérôme CUTRONA 01:07:51 Programmation Web
Programmation Web : Protocole HTTP
Sécurité Informatique
Révision Avant lintra – Architecture de lordinateur, les composants, le fonctionnement, codage – Système dexploitation: organisation des données (fichier),
Common Gateway Interface
Oct.-2000DESS IIDEE © B. BAH 1 ASP Caractéristiques dun fichier ASP Son extension : « *.asp » La balise: Son indépendance vis à vis de toute plate–forme,
CPI/BTS 2 Programmation Web Introduction au PHP
Bibliothèque Patchouli
Techniques Internet de Base Licence 2 (Info, Maths, PC/PA) Université Jean Monnet Ruggero G. PENSA
Développement dapplications web Initiation à la sécurité 1.
Le langage PHP 5.
Le langage ASP Les variables d'environnement HTTP avec Request.
Programmation multimédia 3 Les objets de ASP Semaine 2 Préparé par Marc Aubé Source :
Ecole Supérieure Privée de ingénierie et de technologie année universitaire :2013/2014 Cross-Plateform Cours JavaScript.
Les instructions PHP pour l'accès à une base de données MySql
Xavier Tannier Sécurite Web.
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Développement dapplications web Authentification, session.
1 PHP 1.Langage PHP 1.1. Types de base, variables et constantes 1.2. Opérateurs et expressions 1.3. Instructions 1.4. Fonctions 2.Accès aux bases de données:
PHP Géant Aurélien. PHP (Hypertext Preprocessor) Langage de scripts libre Permet produire des pages Web dynamiques dispose d'un très grand nombre d'API(Application.
Web dynamique PhP + MySQL AYARI Mejdi 2006
Modex Web Dominique Rossin
MODEX WEB BAPTISTE DESPREZ Un peu de sécurité. Avant dentrer dans le vif du sujet JavaScript Langage de script (comme PHP) Exécuté par votre navigateur.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Windows NT 4 Formation 8, 15, 31 janvier 2002
Jean-Michel ILIE - novembre SIL - module M12 Programmation Internet en PHP SIL module M12 Jean-Michel Ilié IUT Paris 5 - département informatique.
Module I-C3 : Applications Web IUT R&T 2e année
Date : Juillet 2014 Formation : TAI Formateur : Tayeb BENDJELTI
PHP 5° PARTIE : LES COOKIES
JavaScript.
PROGRAMMATION PHP © BTS IRIS 2003 [tv] Modèle Relation client-serveur
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
Programmation multimédia 3 Les Témoins (Cookies) Semaine 4 Préparé par Marc Aubé Source :
Créer des packages.
Lyda tourisme Process en PHP. Objectif Il s’agit de construire un segment de process dans un système d’information touristique.
Annexe 2 entêtes HTTP et cookies. Accéder aux objets requêtes et réponses Ces objets sont disponibles dans les classes clé depuis la méthode awake les.
Nicolas DEWEZ Cyrille JOSSELIN Tuteur: Thierry DELOT Conception d’une application de partage de fichiers Projet IUP3 GMI - Valenciennes Jeudi, 23 mars.
 Requêtes MySQL en PHP Introduction
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Institut Supérieur d’Informatique
Installation et Configuration Internet Information Server (IIS 6)
http 1.1.  connexion persistante Browser Mozilla Firefox Adresse ip.
Page 1Dernière mise à jour: 17 avril 2015 Service de l'enseignement des technologies de l'information, © HEC Montréal, Tous droits réservés.
PHP 6° PARTIE : LES SESSIONS 1.Introduction 2.Identificateur de session 3.Variables de session 4.Client / Serveur 5.Principe 6.Ouverture de session 7.Enregistrement.
 Formulaires HTML : traiter les entrées utilisateur
En route vers le déploiement . . .
Protocole HTTP, cookies, sessions, authentification
 Fonctions diverses, scripts PHP Variables de session Les sessions sous PHP permettent de conserver des données d'un utilisateur coté serveur, lors de.
Initiation au web dynamique Licence Professionnelle.
Permet de simplifier la maintenance d’un site
Programmation Web : Protocole HTTP
Introduction à PHP TOURNADRE Guillaume - Informatique Réseaux URL :
Séance /10/ Projet de site dynamique avec Dreamweaver : MyCMS
Sécurité des systèmes d’information: Web Security & Honeypots
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Chaîne de requêteCookieSession Sauvegarder un état via l'url Sauvegarder l'état La technique consiste à passer des informations via l'URL sous la forme:
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
Accès simplifié Web pour les responsables de Cuma 3 mars 2016.
Installation du PGI – CEGID
FACTORY systemes Module 2 Section 1 Page 2-3 Installation d’Industrial SQL FORMATION InSQL 7.0.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Transcription de la présentation:

Développement d’applications Web perso.livehost.fr m.ramdani@univ-bouira.dz

Les cookies Les sessions

Cookies But : Serveur : Client : Éviter que le serveur « oublie le client » Maintenir un « mode connecté » (= session) Rendre transparent un échange client / serveur Exemple e-commerce : ajouter des articles au panier Serveur : Set-Cookie: var=val[; expires=date; path=chemin; domain=domaine] Client : Cookie: var=val;

Cookies, principe des échanges Réseau Client Web (Navigateur) Serveur Web (Apache) Id=1212; path=/; GET / HTTP/1.1 HTTP/1.1 200 OK Set-Cookie: Id=1212; path=/; GET /liste HTTP/1.1 Cookie: Id=1212 HTTP/1.1 200 OK …

Avantages : Inconvénients : Rappelle au serveur des informations sur le client L'échange de la données dans le sens serveur  client est limité au dépôt du cookie Ne nécessite pas de modifier les pages HTML Compatible avec les formulaires Le cookie a une durée de validité Inconvénients : Les données circulent en permanence dans le sens client  serveur Les données circulent en clair sur le réseau La quantité de données doit être limitée

Placer un cookie sur le client : bool setcookie( string name [, string value [, int expire [, string path [, string domain [, bool secure [, bool httponly ]]]]]] ) Chemin de validité, disponibilité : /  tout le serveur /prive  sous-arborescence "prive" Par défaut : répertoire où le cookie est défini Domaine de validité, disponibilité : example.com  le domaine example.com www.example.com  le sous-domaine www.example.com Date d'expiration (timestamp UNIX) : Dans 10 jours : time()+10*24*60*60 Si non précisé, expire à la fermeture du navigateur Valeur du cookie Nom du cookie Cookie uniquement par HTTP ? true  uniquement HTTP false  défaut, HTTP, JavaScript, … Cookie sécurisé ? true  uniquement si HTTPS false  défaut, HTTP et HTTPS

Vérifier la présence d'un cookie : tableau associatif superglobal $_COOKIE ex : cookie 'passage'  $_COOKIE['passage'] Remarques utiles : Le cookie doit être placé avant echo (en-tête HTTP) Le cookie placé avec setcookie() n'est accessible qu'au prochain chargement de page : En-tête HTTP Set-Cookie: suivi de l'en-tête HTTP Cookie: à la demande de page suivante Effacer un cookie déjà placé : le replacer avec les mêmes paramètres mais avec une valeur vide ou false

Sessions Stockage sur le serveur de données associées à un client particulier Nécessite une identification unique pertinente et persistante des clients Identifiant de session (MD5 128bits / SHA-1 160bits) Persiste par paramètre d'URL ou cookie Évite l'échange permanent de données (en dehors de l'identifiant) Nécessite la linéarisation des variables pour leur stockage (fichier, BD, personnalisé) Simule un mode connecté

Sessions Réseau Démarrer session id : B Démarrer session id : A Client 1 Réseau Cookie id : A Serveur Set-Cookie: … Set-Cookie: … Cookie: … Cookie: … GET / OK: … OK: … GET / A B Client 2 Données de session pour B Données de session pour A Cookie id : B

Sessions Créer ou restaurer une session bool session_start ( void ) Manipuler les données de session Tableau associatif superglobal $_SESSION Lire ou définir l'identifiant de session string session_id ( [string id] ) Détruire toutes les variables d'une session void session_unset ( void ) Détruire une session bool session_destroy ( void )

Sessions Modifie les paramètres du cookie de session void session_set_cookie_params ( int lifetime [, string path [, string domain [, bool secure [, bool httponly ]]]] ) Cookie sécurisé ? true  uniquement si HTTPS false  défaut, HTTP et HTTPS Cookie uniquement par HTTP ? true  uniquement HTTP false  défaut, HTTP, JavaScript, … Chemin de validité, disponibilité : /  tout le serveur /prive  sous-arborescence "prive" Par défaut : répertoire où le cookie est défini Date d'expiration (timestamp UNIX) : Dans 10 jours : time()+10*24*60*60 Si non précisé, expire à la fermeture du navigateur Domaine de validité, disponibilité : example.com  le domaine example.com www.example.com  le sous-domaine www.example.com

Procédure d'authentification Réseau Serveur Client login ? pass Problème Le données circulent en clair sur le réseau Problème Injection de code SQL  requêtes préparées Base de données

Procédure d'authentification sécurisée Réseau Serveur Client login pass donnée challenge challenge challenge Codage ? Codage Données de session Sécurité Le données qui circulent sont propres à chaque connexion Problème Injection de code SQL  requêtes préparées donnée Base de données