Programmation Web. Sites dynamiques et bases de données. Mathieu Lacroix. I.U.T. de Villetaneuse. Année
|
|
|
- Aurélie St-Laurent
- il y a 10 ans
- Total affichages :
Transcription
1 Programmation Web Sites dynamiques et bases de données Mathieu Lacroix I.U.T. de Villetaneuse Année [email protected] Page Web : http: // www-lipn. univ-paris13. fr/ ~lacroix/ Mathieu Lacroix Programmation Web 1 / 40
2 Plan 1 Programmation orientée objet en PHP 2 PHP et bases de données 3 Sécurité Mathieu Lacroix Programmation Web 2 / 40
3 Plan 1 Programmation orientée objet en PHP 2 PHP et bases de données 3 Sécurité Mathieu Lacroix Programmation Web 3 / 40
4 Syntaxe Proche du java : classes, héritage, interfaces. Définition d une classe class nomclass { //Attributs et méthodes } Visibilité : public, private ou protected. Noms des attributs : $attribut (lors de la déclaration). Constructeur : construct(). $this : référence à l objet sur lequel est appelée la méthode. Possibilité d attributs ou méthode statiques (static) Possibilité de constantes de classes (const) Mathieu Lacroix Programmation Web 4 / 40
5 Définition d une classe Exemple class Joueur { public $login; //attribut login (publique) private $score; //attribut score (privé) const NOM_JEU = "Tarot"; //Constante NOM_JEU de valeur Tarot public function construct($ch,$ent) { //Teste si la valeur $ent correspond à un entier if (((string) $ent) === ((string)(int) $ent)) $this->score = $ent; else $this->score = 0; } if (trim($ch)!= ) $this->login = $ch; else $this->login = anonymous ; Mathieu Lacroix Programmation Web 5 / 40
6 Définition d une classe Exemple public function score() { return $this->score; } public function gagne($score) { if (((string) $score) === ((string)(int) $score)) $this->score += $score; } } Mathieu Lacroix Programmation Web 6 / 40
7 Utilisation d une classe Exemple Instanciation : new suivi du nom de la classe Accès aux méthodes et attributs : $objet->attribut ou $objet->methode() Accès aux attributs ou méthodes statiques (ou constantes) : NOM_CLASSE::attribut ou NOM_CLASSE::methode() echo <p> Jeu :. Joueur::NOM_JEU. </p> ; $j1 = new Joueur( sky,33); $j2 = new Joueur( Dark,755); $j1->gagne(180); echo <p> Scores :. $j1->login. a. $j1->score(). points <br/>. $j2->login. a.$j2->score(). points</p> ; Jeu : Tarot Scores : sky a 213 points Dark a 755 points. Mathieu Lacroix Programmation Web 7 / 40
8 Plan 1 Programmation orientée objet en PHP 2 PHP et bases de données 3 Sécurité Mathieu Lacroix Programmation Web 8 / 40
9 Principe Principe 4 - Visualisation de la page 1 - Demande d'exécution du script PHP 2 - Génération de code HTML Visiteur Client 3 - Envoi du code HTML généré Serveur Requête(s) SQL Réponse(s) SQL Base de données Plusieurs requêtes possibles SQL dans un script PHP. Mathieu Lacroix Programmation Web 9 / 40
10 Rappels requêtes SQL Table Joueurs : IdJ, Nom, Prenom Table Scores : IdS, IdJ, NomJeu, Score Interrogation SELECT [DISTINCT] nomchamps/fonction FROM nomtable [WHERE condition] Exemples : SELECT DISTINCT nomjeu FROM Scores SELECT * FROM Scores WHERE IdJ=1 SELECT MAX(Score) FROM Scores WHERE IdJ=1 SELECT Nom, Prenom FROM Joueurs NATURAL JOIN (SELECT IdJ FROM Scores WHERE NomJeu = Tarot ) Mathieu Lacroix Programmation Web 10 / 40
11 Rappels requêtes SQL Suppressions (de lignes) DELETE FROM nomtable WHERE condition Exemples : DELETE FROM Scores WHERE IdJ = 1 DELETE FROM Scores Mise à jour UPDATE nomtable SET nomchamp = nouvellevaleur WHERE condition Exemple : UPDATE Scores SET score = 0 WHERE IdJ = 1 AND nomjeu = Tarot Mathieu Lacroix Programmation Web 11 / 40
12 Rappels requêtes SQL Ajout de lignes INSERT INTO nomtable (champ1, champ2,...) VALUES ( valeur1, valeur2,...) Exemples : INSERT INTO Joueurs ( Nom, Prenom ) VALUES ( Dupond, Jean ) INSERT INTO Scores ( IdJ, NomJeu,Score) VALUES (18, Tarot,750), (18, Poker,1200), (18, Belote, 90) Mathieu Lacroix Programmation Web 12 / 40
13 Librairie PDO Accès aux BD avec la librairie PHP Data Object (PDO). Intérêts de PDO Permet d accéder à n importe quel SGBD (Oracle, MySQL, PostgreSQL) Permet l utilisation de requêtes préparées Requêtes préparées 2 étapes : Préparation : analyse/optimisation de la requête par le SGBD Exécution : Interrogation de la BD et récupération des résultats Possibilité d utiliser des marqueurs de place (paramètres). Intérêts des requêtes préparées Meilleure sécurisation de la base de données Accélération si une requête est exécutée plusieurs fois Mathieu Lacroix Programmation Web 13 / 40
14 Connexion à la base de données Connexion lors de l instanciation d un objet de PDO 3 paramètres : DSN, login, mot de passe Data Source Name (DSN) SGDB:host=SERVEUR;dbname=NOM_BASE SGDB : mysql, pgsql,... SERVEUR : nom du serveur (localhost, aquanux,...) NOM_BASE : nom de la base de données Mathieu Lacroix Programmation Web 14 / 40
15 Connexion à la base de données Exemple try { $bd = new PDO( mysql:host=localhost;dbname=bdtest, mat, code ); //Php communique en utf-8 (pour les accents) $bd->query( SET NAMES utf8 ); //En cas d erreur, lever des exceptions $bd->setattribute(pdo::attr_errmode,pdo::errmode_exception); } catch(pdoexception $e) { //On termine le script die( <p> Erreur[.$e->getCode(). ] :.$e->getmessage(). </p> ); } Remarques : Une seule connexion dans un script PHP Mettre ce code dans un fichier séparé Mathieu Lacroix Programmation Web 15 / 40
16 Interrogation de la base de données Préparation d une requête Méthode prepare de la classe PDO. Prend en paramètre une requête SQL (string) Retourne un objet PDO_STATEMENT correspondant à la requête préparée Exception PDOException en cas d erreur Exécution de la requête Méthode execute de la classe PDO_STATEMENT Exception PDOException en cas d erreur Mathieu Lacroix Programmation Web 16 / 40
17 Interrogation de la base de données Récupération des résultats Méthode fetch de la classe PDO_STATEMENT Retourne la ligne (enregistrement) suivante sous forme de tableau ou d objet (selon la valeur du paramètre) Retourne false en cas d erreur Valeurs possibles pour le paramètre de fetch PDO::FETCH_ASSOC : retourne un tableau associatif (clés : noms des colonnes) PDO::FETCH_NUM : retourne un tableau associatif (clés : indices des colonnes) PDO::FETCH_BOTH : retourne un tableau associatif (clés : noms et indices des colonnes) PDO::FETCH_OBJ : retourne un objet (noms des attributs : noms des colonnes) Mathieu Lacroix Programmation Web 17 / 40
18 Interrogation de la base de données Table Personnes : Exemple Nom Grappe David Borne Toulouse Prenom Roland Julien Sylvie Sophie //Dans un bloc try/catch $req = $bd->prepare( SELECT Nom, Prenom FROM Personnes ); $req->execute(); $tab = $req->fetch(pdo::fetch_assoc); echo <p>. $tab[ Nom ].. $tab[ Prenom ]. </p> ; $tab = $req->fetch(pdo::fetch_num); echo <p>. $tab[0].. $tab[1]. </p> ; $tab = $req->fetch(pdo::fetch_both); echo <p>. $tab[0].. $tab[ Prenom ]. </p> ; $obj = $req->fetch(pdo::fetch_obj); echo <p>. $obj->nom.. $obj->prenom. </p> ; Mathieu Lacroix Programmation Web 18 / 40
19 Interrogation de la base de données Premier appel : fetch retourne Array ( [Nom] => Grappe [Prenom] => Roland ) Deuxième appel : fetch retourne Array ( [0] => David [1] => Julien ) Mathieu Lacroix Programmation Web 19 / 40
20 Interrogation de la base de données Troisième appel : fetch retourne Array ( [Nom] => Borne [0] => Borne [Prenom] => Sylvie [1] => Sylvie ) Quatrième appel : fetch retourne Objet contenant deux attributs : nom de l attribut : Nom, valeur : Toulouse nom de l attribut : Prenom, valeur : Sophie Si cinquième appel, fetch retourne false Mathieu Lacroix Programmation Web 20 / 40
21 Interrogation de la base de données Affichage produit <p> Grappe Roland </p> <p> David Julien </p> <p> Borne Sylvie </p> <p> Toulouse Sophie </p> Mathieu Lacroix Programmation Web 21 / 40
22 Interrogation de la base de données Parcours de tous les résultats //Préparation et exécution while($rep = $req->fetch(pdo::fetch_assoc)) { echo <p>. $rep[ Nom ].. $rep[ Prenom ]. </p> ; } La boucle s arrête quand fetch retourne false Mathieu Lacroix Programmation Web 22 / 40
23 Marqueurs de place Définition/Utilisation Intérêts Endroits dans la requête qui seront remplacés par des valeurs lors de l exécution Définis par ":" suivi du nom du marqueur dans la requête Valeur donnée grâce à la méthode bindvalue Exécution d une requête avec plusieurs valeurs différentes Sécurisation des requêtes contre les attaques par injection SQL Mathieu Lacroix Programmation Web 23 / 40
24 Marqueurs de place Exemple $couleur = rouge ; $req = $bd->prepare( SELECT nom, couleur, calories FROM fruit WHERE calories < :calories AND couleur = :couleur ); $req->bindvalue( :calories, 150); $req->bindvalue( :couleur, $couleur); $req->execute(); SELECT nom, couleur, calories FROM fruit WHERE calories < 150 AND couleur= rouge Mathieu Lacroix Programmation Web 24 / 40
25 Plan 1 Programmation orientée objet en PHP 2 PHP et bases de données 3 Sécurité Mathieu Lacroix Programmation Web 25 / 40
26 Attaques par injection SQL Définition Modification (non prévue par le développeur) d une requête SQL Résultats obtenus pouvant être très différents! Table Cmd : Id IdC NomP Qte 1 1 Canapé Lit Table Voiture 1 Exemple if(isset($_get[ id ])) { $req=$bd->prepare( SELECT * FROM Cmd WHERE IdC =.$_GET[ id ]); $req->execute(); while($t = $req->fetch(pdo::fetch_assoc)) echo <p>. $t[ nomp ].. $t[ Qte ]. </p> ; } Mathieu Lacroix Programmation Web 26 / 40
27 Attaques par injection SQL SELECT * FROM Cmd WHERE IdC = 1 Affiche les deux premières lignes de la table OR 1=1 SELECT * FROM Cmd WHERE IdC = 1 OR 1=1 Affiche toutes les lignes! * FROM Cmd SELECT * FROM Cmd WHERE IdC = 1; DELETE * FROM Cmd Affiche les 2 premières lignes et supprime les données de la table! Mathieu Lacroix Programmation Web 27 / 40
28 Attaques par injection SQL Parades Mettre entre apostrophes les valeurs saisies par l utilisateur $req = $bd->prepare( SELECT * FROM Cmd WHERE IdC =. $bd->quote($_get[ id ])); Utiliser les marqueurs de place pour les valeurs saisies $req = $bd->prepare( SELECT * FROM Cmd WHERE IdC = :ident ); $req->bindvalue( :ident,$_get[ id ]); Meilleure solution : Marqueurs de place (plus rapide et plus simple) * FROM Cmd Affiche les lignes dont l IdC vaut : 1;DELETE * FROM Cmd Mathieu Lacroix Programmation Web 28 / 40
29 Faille XSS Définition Insertion de code javascript (langage client) interprété par le navigateur Table Personnes Nom Grappe David Malveillant Prenom Roland Julien <script>confirm("attaque") ;</script> Mathieu Lacroix Programmation Web 29 / 40
30 Faille XSS Script PHP $req = $bd->prepare( SELECT Nom, Prenom FROM Personnes ); $req->execute(); while($rep = $req->fetch(pdo::fetch_assoc)) { echo <p>. $rep[ Nom ].. $rep[ Prenom ]. </p> ; } Code HTML généré <p> Nom : Grappe et prénom : Roland </p> <p> Nom : David et prénom : Julien </p> <p> Nom : Malveillant et prénom : <script> confirm("attaque");</script> </p> Mathieu Lacroix Programmation Web 30 / 40
31 Faille XSS Résultat Toute personne accédant à cette page Web exécute un script sur son navigateur! Mathieu Lacroix Programmation Web 31 / 40
32 Faille XSS Conséquences possibles Redirection de l utilisateur (hameçonnage) Vol d informations (sessions et cookies) Actions sur le site, à l insu de la victime et sous son identité (envoi de messages, suppression de données...) Lecture d une page difficile (boucle infinie d alertes par exemple) Mathieu Lacroix Programmation Web 32 / 40
33 Faille XSS Parade Utilisation de htmlspecialchars Script PHP $req = $bd->prepare( SELECT Nom, Prenom FROM Personnes ); $req->execute(); while($rep = $req->fetch(pdo::fetch_assoc)) { echo <p>. htmlspecialchars($rep[ Nom ]).. htmlspecialchars($rep[ Prenom ]). </p> ; } Code HTML généré <p> Nom : Grappe et prénom : Roland </p> <p> Nom : David et prénom : Julien </p> <p> Nom : Malveillant et prénom : <script> confirm("attaque");</script> </p> Mathieu Lacroix Programmation Web 33 / 40
34 Faille XSS Résultat Aucun script n est exécuté! Utiliser htmlspecialchars lors de l affichage OU lors de l insertion dans la BD Mathieu Lacroix Programmation Web 34 / 40
35 Gestion des mots de passe Authentification par login/mot de passe. Table MotsDePasse login jim arn edge pass azerty php123 1maxABC Mathieu Lacroix Programmation Web 35 / 40
36 Gestion des mots de passe Script d authentification //On suppose que les login et mot de passe saisis sont //dans $_POST[ login ] et $_POST[ pass ] $req = $bd->prepare( SELECT pass FROM MotsDePasse WHERE login=:login ); $req->bindvalue( :login,$_post[ login ]); $req->execute(); $res = $req->fetch(pdo::fetch_assoc); if($res) //S il y a une correspondance { if($_post[ pass ]==$res[ pass ]) //Si mêmes mots de passe { echo <p> Connexion réussie </p> ; $_SESSION[ connecte ] = true; } } Mathieu Lacroix Programmation Web 36 / 40
37 Gestion des mots de passe Problème Toute personne accédant à la table connaît tous les mots de passe! Accès à la table MotsDePasse Faille dans le site Droits suffisants Utilisation frauduleuse Connexion avec n importe quel compte Connexion sur d autres sites avec mêmes login/mots de passe Mathieu Lacroix Programmation Web 37 / 40
38 Gestion des mots de passe Parade Stocker les mots de passe chiffrés! Chiffrement Différents algorithmes possibles (ex sha1) Chiffrement très facile Déchiffrement très difficile Utilisation en PHP sha1( azerty ) renvoie 9cf95dacd226dcf43da376cdb6cbba Mathieu Lacroix Programmation Web 38 / 40
39 Gestion des mots de passe Table MotsDePasse login jim arn edge pass 9cf95dacd226dcf43da376cdb6cbba fbed57b01f8b54e14c36fab2b13cbc62 b eabb1ef43b3ea2aec31d7e5bba389b Nouveau test dans le script PHP if(sha1($_post[ pass ])==$res[ pass ]) Mathieu Lacroix Programmation Web 39 / 40
40 Gestion des mots de passe Le chiffrement ne résoud pas tout! Attaque possible Génération de mots de passe et vérification de concordance Dictionnaire de mots de passe (en clair et chiffrés) Le mot de passe azerty très vite trouvé! Parade Utilisation d un grain de sel (ex : 1zetydEEcjel4ek3 ) Chiffrer la concaténation du mot de passe et du grain de sel if(sha1($_post[ pass ]. 1zetydEEcjel4ek3 ) ==$res[ pass ]) Mathieu Lacroix Programmation Web 40 / 40
BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais
BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3
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.
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
CREATION WEB DYNAMIQUE
CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de
PHP 5. La base de données MySql. A. Belaïd 1
PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple
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
PHP 4 PARTIE : BASE DE DONNEES
PHP 4 PARTIE : BASE DE DONNEES 1. Introduction 2. Présentation de MySQL 3. Principe 4. Connexion 5. Interrogation 6. Extraction des données 7. Fonctions de services 8. Traitement des erreurs 9. Travaux
PDO : PHP Data Object 1/13
PDO : PHP Data Object 1/13 Tous ne sont que des extensions... Les fonstions mysql_* : API mysql Les fonctions mysqli_* aussi Il en est de même pour PDO PDO (avec le pilote PDO MySQL Driver et Extension
PHP. PHP et bases de données
Accés aux bases de données Une des raisons du succès de PHP Support d un grand nombre de bases - MySQL - Oracle - PostgreSQL - SQLite - Microso> Access - DBM - IBM Informix -... Accés aux bases de données
Sécurité des applications web. Daniel Boteanu
I F8420: Éléments de Sécurité des applications web Daniel Boteanu Architecture des applications web Client légitime Internet HTTP 浀 HTML Server Web 2 Architecture des applications web Client légitime Internet
La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)
Le langage PHP (2) Walid Belkhir Université de Provence [email protected] http://www.lif.univ-mrs.fr/ belkhir/ 1 / 54 1 La programmation orientée objet 2 Gestion de Connexions HTTP 3 Manipulation
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
Application web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Java DataBaseConnectivity
Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage
cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007
A t t a q u e s c o n t r e l e s a p p l i s w e b cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007 D e l ' u t i l i t é d e l ' a t t a
PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)
PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et
Stockage du fichier dans une table mysql:
Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table
Cours Bases de données 2ème année IUT
Cours Bases de données 2ème année IUT Cours 12 : Concurrence d accès Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Accès concurrents Définitions Verrous Collisions Niveaux de cohérence Blocage
INTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Introduction à JDBC. Accès aux bases de données en Java
Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique [email protected] 1 Introduction JDBC : Java Data Base Connectivity
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
Programmation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Mysql avec EasyPhp. 1 er mars 2006
Mysql avec EasyPhp 1 er mars 2006 Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requètes vers les bases de données relationnelles. Il en reprend la syntaxe
Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes
Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition
Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
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
SQL Parser XML Xquery : Approche de détection des injections SQL
SQL Parser XML Xquery : Approche de détection des injections SQL Ramahefy T.R. 1, Rakotomiraho S. 2, Rabeherimanana L. 3 Laboratoire de Recherche Systèmes Embarqués, Instrumentation et Modélisation des
Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS
Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)
Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL
Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions
SQL MAP. Etude d un logiciel SQL Injection
Introduction Ce TP a pour but d analyser un outil d injection SQL, comprendre les vulnérabilités d une BD et de mettre en œuvre une attaque par injection SQL. Prise en main du logiciel SQLMap est un outil
Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi
Un exemple d'authentification sécurisée utilisant les outils du Web : CAS 111 L authentification CAS : «Central Authentication Service» CAS ou le service central d authentification Le système CAS, développé
Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle
Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle Ce projet comporte trois parties sur les thèmes suivants : création de base de donnée, requêtes SQL, mise en œuvre
Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions
Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Cours Internet et Outils: [1/12] Intro, Internet, Web, XHTML (2H) [2/12] XHTML(2H) [3/12]
PROJET 1 : BASE DE DONNÉES REPARTIES
PROJET 1 : BASE DE DONNÉES REPARTIES GESTION D UNE BANQUE Elèves : David Bréchet Frédéric Jacot Charles Secrétan DONNÉES DU PROJET SSC - Bases de Données II Laboratoire de Bases de Données BD réparties
1 Position du problème
Licence Science et Technologies - INF245 Examen session 1 - mai 2012 Durée : 2 heures Documents non autorisés Le barème est donné à titre indicatif 1 Position du problème Le Club Universitaire de Vélo
SYSTÈMES D INFORMATIONS
SYSTÈMES D INFORMATIONS Développement Modx Les systèmes de gestion de contenu Les Content Management Système (CMS) servent à simplifier le développement de sites web ainsi que la mise à jour des contenus.
Devenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
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
INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE
INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE Le responsable de la société Itaste utilise une application installée sur son poste : elle est programmée en VBA sous Microsoft Access et pourvue d une
Tech-Evenings Sécurité des applications Web Sébastien LEBRETON
Tech-Evenings Sécurité des applications Web Sébastien LEBRETON Pourquoi revoir la sécurité des applications Web Des technologies omniprésentes Facilité de mise en œuvre et de déploiement. Commerce en ligne,
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
Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4)
Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4) Sommaire : Contenu I. Introduction:... 2 II. Présentation de l atelier :... 2 1) Attaque persistante :... 3 2) Attaque non persistante :...
WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES
WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,
EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012
EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012 I. Objectifs Mettre en œuvre les compétences acquises ou en cours d acquisition en: o Modélisation UML, Réseau, Base de données,
Mysql. Les requêtes préparées Prepared statements
Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production
OpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Les sites Internet dynamiques. contact : Patrick VINCENT [email protected]
Les sites Internet dynamiques contact : Patrick VINCENT [email protected] 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
3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures
3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures Objectif global : A l issue de la formation, les stagiaires doivent être opérationnels dans la création d un site internet
L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248
L envoi d un formulaire par courriel Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 Chapitre 9 L envoi d un formulaire par courriel L envoi par courriel d informations
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
Hébergement de site web Damien Nouvel
Hébergement de site web Plan L'hébergeur Le serveur web Apache Sites dynamiques 2 / 27 Plan L'hébergeur Le serveur web Apache Sites dynamiques 3 / 27 L'hébergeur L'hébergeur sous-traite l'architecture
Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :
ntroduction 1/28 2/28 Anne-Cécile Caron Licence MAGE - Bases de Données 2013-2014 Application base de données Pour le développeur : Quel est l environnement? type de client (mode client serveur, intranet,...)
1. Base de données SQLite
Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis
Plateforme PAYZEN. Définition de Web-services
Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network
Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications
Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications P.-A. Sunier, HEG-Arc Neuchâtel avec le concours de J. Greub [email protected] http://lgl.isnetne.ch/
Bases de Données relationnelles et leurs systèmes de Gestion
III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation
Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions
Exemple accessible via une interface Web Une base de données consultable en ligne : Bases de données et systèmes de gestion de bases de données The Trans-atlantic slave trade database: http://www.slavevoyages.org/tast/index.faces
ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL
ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL Jean-Marie Pécatte [email protected] 16 novembre 2006 ISIS - Jean-Marie PECATTE 1 Valeur de clé
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 [email protected] http://www.edelweb.fr http://www.chambet.com Page 1 Planning
Bases de données relationnelles
Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses
Introduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Installation et Mise en œuvre de MySQL
T-GSI STAGE RENOVATION - SQL.Chapitre 2 - Installation et Mise en œuvre de MySQL Olivier Mondet http://unidentified-one.net A. Pourquoi choisir MySQL? A.1. MySQL, très controversé La base de données MySQL
Les bases de données
Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive
Gestion de stock pour un magasin
Département d Informatique Université de Fribourg, Suisse http://diuf.unifr.ch Gestion de stock pour un magasin Stock online utilise ASP/MS-Access DO Thi Tra My No étudiant : 05-333-750 Travail de séminaire
1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5
1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases
Le stockage local de données en HTML5
Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,
A QUOI SERVENT LES BASES DE DONNÉES?
BASE DE DONNÉES OBJET Virginie Sans [email protected] A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès
Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.
Les Triggers SQL Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes [email protected] 1 Sommaire Motivations Trigger Ordre Trigger Ligne Condition Trigger
BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013
BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013 TS2 CGO 7 mars 2013 2 heures Aucun document autorisé Calculatrice autorisée Nota : Il vous est demandé d apporter un soin particulier à la présentation de
Le langage SQL (première partie) c Olivier Caron
Le langage SQL (première partie) 1 Plan Le S.G.B.D. postgres Le langage SQL Langage de manipulation de données Langage de requêtes 2 Quelques mots sur Postgres (1/2) Travaux de Stonebraker (Univ. Berkeley)
Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.
: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL
1 Introduction et installation
TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on
Définition des Webservices Ordre de paiement par email. Version 1.0
Définition des Webservices Ordre de paiement par email Version 1.0 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Historique du document
NFA 008. Introduction à NoSQL et MongoDB 25/05/2013
NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée
OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI
OWASP Open Web Application Security Project Jean-Marc Robert Génie logiciel et des TI A1: Injection Une faille d'injection, telle l'injection SQL, OS et LDAP, se produit quand une donnée non fiable est
Corrigés des premiers exercices sur les classes
Corrigés des premiers exercices sur les classes Exercice 2.1.1 utilisation d une classe Voici le texte d une classe représentant de façon sommaire un compte bancaire et les opérations bancaires courantes.
LEA.C5. Développement de sites Web transactionnels
LEA.C5 Développement de sites Web transactionnels LEA.C5 Développement de sites Web transactionnels Toutes les entreprises et les organisations utilisent le réseau Internet comme outil de promotion, de
Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework
Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework L'objectif de ce document est de poser des bases de réflexion sur la modélisation d'un projet réalisé
PHP 5.4 Développez un site web dynamique et interactif
Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................
Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données
Base de Données Cours Introductif Base de Données Quelques chiffres Évolution annuelle moyenne 2004/2000 15% +20% 12% 5% 0.5% 2000 2004 L3G IA SG mono poste : Part de marché 5% 5% 10% Paradox 65% SG 15%
Gestion des utilisateurs et de leurs droits
Gestion des utilisateurs et de leurs droits Chap. 12, page 323 à 360 Lors de la création d'un utilisateur vous devez indiquer son nom, ses attributs, son profil, la méthode d'authentification (par le SE
Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <[email protected]> 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
Le langage SQL pour Oracle - partie 1 : SQL comme LDD
Le langage SQL pour Oracle - partie 1 : SQL comme LDD 1 SQL : Introduction SQL : Structured Query Langage langage de gestion de bases de donn ees relationnelles pour Définir les données (LDD) interroger
Cours SQL. Base du langage SQL et des bases de données
Cours SQL Base du langage SQL et des bases de données Auteur Tony Archambeau Site web http://sql.sh Date 24 mai 2014 Licence Mis à disposition selon les termes de la licence Creative Commons Attribution
Les BASES de DONNEES dans WampServer
Les BASES de DONNEES dans WampServer 1 Définitions Générales Une base de données (BDD) permet d'enregistrer, de stocker, de ranger des données de façon organisée et hiérarchisée. SQL est le langage qui
Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées
Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées ANNEE 2014 / 2015 Désignation de l enseignement : Bases de données Nom du document : TP SQL sous PostgreSQL Rédacteur :
DOM - Document Object Model
DOM - Document Object Model 1 But de DOM Interfacer les langages de programmation avec les documents XML en les associant avec un modèle orienté objet DOM permet aux programmes et scripts : d'accéder et
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
Programmation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Serveur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5
SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N
Rapport de stage Nicolas PLAZE Licence Pro A2I. Rapport de Stage LICENCE PRO A2I. Société INFHOTIK. Nicolas PLAZE
Rapport de Stage LICENCE PRO A2I Société INFHOTIK Nicolas PLAZE Année 2001-2002 1 I. L ENTREPRISE 1. Raison sociale 2. Activité 3. Personnel 4. L offre infhotik hôtel 5. Les projets SOMMAIRE II. OBJECTIFS
Accès aux bases de données
13 Accès aux bases de données Les bases de données fournissent un mécanisme de stockage persistant pour les données d application et dans bien des cas, elles sont essentielles au fonctionnement des applications.
Développement des Systèmes d Information
Développement des Systèmes d Information Axe ISI Camille Persson Institut Fayol / LSTI / ISCOD École Nationale Supérieure des Mines de Saint-Etienne 158 cours Fauriel, 42000 Saint-Etienne [email protected]
Authentification et contrôle d'accès dans les applications web
Authentification et contrôle d'accès dans les applications web Quelques Rappels Objectifs : contrôler que seulement Certains utilisateurs Exécutent certaines opérations Sur certains objets Trois entités
A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW
A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW Groupe : 322 Exploitation des Banques de données 420-PK6-SL (1-2-1) Étape : 3 Professeur Nom: Marcel Aubin Courriel : [email protected]
