PHP et MySQL : notions de sécurité

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

Download "PHP et MySQL : notions de sécurité"

Transcription

1 PHP et MySQL : notions de sécurité Dans ces quelques lignes des notions de sécurité élémentaires vont être présentées. Elles sont insuffisantes pour toute application professionnelle, par contre, elles doivent être impérativement connues par tous les développeurs de sites web quel qu il soient. 1 Injections de code SQL SQL est très utilisé pour construire des sites web. Il reste très efficace est assez sécurisé si l on prend quelques précautions, dans les lignes qui vont suivre le principe des attaques va être présenté ainsi que deux parades possibles pour les éviter. 1.1 Principe La plupart des formulaires de connexion sont généralement traités par une requête SQL du type : SELECT id FROM utilisateurs WHERE login= $nom AND pass= $pass Ces requêtes peuvent être facilement attaquées et perdre toute efficacité si elles ne sont pas protégées. Dans votre TP 1 (TP4 par exemple) remplissez le champ identifiant et le champ mot de passe du formulaire de connexion avec la chaîne de caractères suivante 2 : OR a = a Vous constatez que vous êtes enregistré. Pour comprendre ce qui se passe, modifiez fonctions.php pour que la requête SQL soit affichée (placez la requête dans une chaîne de caractères et utilisez echo), vous obtenez quelque chose comme SELECT id FROM utilisateurs WHERE nom= OR a = a AND pass= OR a = a Les apostrophes ont fermé la chaîne de caractères et une condition logique toujours vraie a été ajouté à la condition WHERE rendant ainsi la requête toujours vraie ce qui permet la connexion. Ce type d attaque porte le nom d injection de code SQL. Ces attaques sont assez facile à contrer, deux solutions vont être présentées ci-dessous. 1 Les protections du serveur utilisé en TP vont être abaissée le temps du TP, puis remises en activité 2 Respectez bien les apostrophes et les espaces 1

2 1.2 Les "magic quotes" La parade la plus efficace contre l injection de code SQL est l utilisation des "magic quotes". Si la variable magic_quotes_gpc est placée à On dans le fichier php.ini, les chaînes reçues via les méthodes Get, Post et les Cookies (gpc) seront automatiquement échappées par l ajout de \ ("anti-slash"). Dans certains cas, il n est pas possible de savoir si cette option est active directement ou cette option est désactivée. Il va donc falloir ajouter les caractères d échappements lors de la saisie. La fonction get_magic_quotes_gpc renseigne sur la valeur de la variable magic_quotes_gpc. La fonction addslashes place automatiquement des caractères d échappements dans la chaîne passée en paramètre. L exemple suivant teste la valeur de la variable get_magic_quotes_gpc avant d ajouter des caractères d échappement si nécessaire : //... if (!get_magic_quotes_gpc()) { $login = addslashes($_post[ nom ]); else { $login = $_POST[ nom ]; // Construction de la requête $requete = "INSERT INTO utilisateurs (nom) VALUES ( $login )"; //...?> Les "magic quotes" sont une protection très efficace contre les injections de code SQL bien qu elles ralentissent un peu la liaison entre PHP et le moteur de base de données. De plus, elles sont moins efficaces sur certains moteurs de base de données. Par exemple, pour PostgreSQL il est conseillé d utiliser la fonction pg_escape_string pour protéger les requêtes. 1.3 Vérification de la validité des formulaires D une manière générale, il est recommandé de vérifier la validité des paramètres passés dans les formulaires avant de les utiliser. Comme de nombreux langages, PHP implémente les expressions régulières. Les expressions régulières forment une notation compacte des chaînes de caractères. Diverses fonctions travaillent avec les expressions régulières, l exemple présenté ci-dessous analyse une chaîne de caractères et la valide si elle n est composée que de 4 à 15 répétitions des caractères alphanumériques (a à z, A à Z et 0 à 9) : $a="rtyue"; if (!ereg("^([a-za-z0-9]{4,15)$", $a)) { echo "La chaîne n est pas valide"; else { echo "La chaîne est valide"; 2

3 ?> Avec les expressions régulières on peut facilement interdire l injection de code SQL mais aussi vérifier des paramètres comme par exemple des numéros de cartes de paiement, des codes postaux,... 2 Protection des mots de passe sur le serveur 2.1 Encodage des mots de passe Le stockage des mots de passe sur le serveur est un des points clefs de la sécurité d un site. Pour éviter les problèmes ils ne doivent jamais être stockés en clair. En effet, si le serveur est piraté, tous les mots de passe sont disponibles. Pour éviter de rendre les mots de passe visibles à un éventuel pirate ils doivent être encodés avec un algorithme indéchiffrable. Un des algorithmes utilisés est le cryptage MD5 (message digest 5) qui transforme une chaîne de caractères en un ensemble de 32 caractères hexadécimaux (nommé hash). L algorithme assure une correspondance unique entre le hash et la chaîne de caractères. Cette algorithme n a pas de réciproque, il n est pas possible de reconstruire la chaîne à partir de son hash. Pour protéger les mots de passe, il suffit de stocker leurs hash dans la base de données. Quand un utilisateur tente de se logger, on compare le hash du mot de passe fourni avec la valeur stockée dans la base de données, s ils sont identiques, le mot de passe est le bon. En PHP, la fonction md5 permet de calculer le hash d une chaîne de caractères passée en paramètre. 2.2 Renforcement par un "grain de sel" Il est techniquement possible de construire un dictionnaire des codes MD5 qui, à un code MD5 ferrait correspondre une chaîne de caractères. Il suffirait de construire tous les codes MD5 à partir des chaînes de caractères probables. Par exemple, un mot de passe de comporte généralement que les lettres (majuscules et minuscules) et les chiffres, soit un ensemble de 62 symboles. De plus un mot de passe contient généralement moins de 10 caractères, il y a donc un peu moins de possibilités. Générer les hash correspondant est envisageable avec les ordinateurs actuels, une attaque "force brute" (voir section 3.2) reste possible. La parade est assez simple, il suffit de concaténer une chaîne aléatoire 3 au mot de passe avant de calculer le hash. Ainsi, les dictionnaires ne peuvent plus être utilisés pour trouver le mot de passe. Cette chaîne aléatoire doit être stockée dans la base de données en même temps que le mot de passe. L exemple ci-dessous présente les étapes clés en PHP : $grain_de_sel = rand(); $hash = md5($mot_de_passe.$grain_de_sel); // stocker $hash et $grain_de_sel dans la base de données 3 Une chaîne aléatoire est indispensable, sinon on retrouve une chaîne commune à tous les mots de passe qu il sera facile de retrouver 3

4 Des failles ont été récemment découvertes dans le code MD5, pour des applications "sensibles" d autres algorithmes doivent lui être préférés comme SHA-1 (fonction sha1 en PHP). Les principes de protection restent les mêmes. 3 Autres points importants pour la sécurité 3.1 Sécurité des sessions Les sessions permettent de placer les informations sensibles sur le serveur. Seul un coookie ou une variable passée par la méthode POST reste sur le poste client. Cet élément correspond à une référence dans une base de données. Un vol de cet identifiant permet d usurper l identité d un utilisateur. Plusieurs méthodes permettent de limiter les risques de vol de sessions. La durée de vie des sessions peut être limitée en utilisant la variable session.cookie_lifetime dans le fichier de configuration php.ini. En complément (ou si le fichier ne peut pas être modifié), la méthode session_regenerate_id permet de forcer la création d un nouvel identifiant, appelée à chaque page elle assure un identifiant de session difficile à usurper. La fonction session_destroy ne détruit que les données de la session. Elle ne détruit ni les variables super-globales ni le cookie associé à la session. Lors de la fermeture d une session, le cookie doit être détruit "à la main" : session_start(); //... // Destruction du cookie if (isset($_cookie[session_name()])) { setcookie(session_name(),, time()-60*10, / ); // Destruction de la session session_destroy();?> 3.2 Attaque "force brute" Les attaques "force brute" sont basées sur des logiciels (nommés "robots") qui construisent et envoient des requêtes HTTP pour tenter de se connecter à un site en essayant tous les mots de passe possibles. Ces robots utilisent souvent des dictionnaires pour construire leurs requêtes. Pour limiter les attaques par robots, il suffit d imposer un délai croissant entre chaque tentative de connexion échouée provenant du même utilisateur (même IP, disponible dans $_SERVER["REMOTE_ADDR"] ). Par exemple, imposer un délai de 2 seconde entre la première tentative et la seconde tentative de connexion, puis 4 seconde entre la seconde et la troisième, puis 8 seconde 4,... La fonction sleep permet d imposer une pause dans l exécution du script courant. 4 Avec une telle progression, le délai de reconnexion sera de 12 jours après 20 essais 4

5 3.3 Sécurité des mots de passe Pour compliquer la tâche des robots, il est possible d interdire les mots de passe trop simples. Pour ce faire, on utilise un dictionnaire qui contient tous les mots possibles (dans une ou des langue(s)) qui sera interrogé avant de créer un nouveau compte. Un compte ne pourra être crée que si le mot de passe n est pas dans le dictionnaire. Cette approche ralentit les robots et évite les mots de passe trop simples. Il est aussi possible, en utilisant les expressions régulières, de forcer certains motifs (comme par exemple mot de passe de minimum 8 caractères dont au minimum 2 chiffres). 3.4 Sécurité de la part des utilisateurs La première faille d un système informatique reste l utilisateur. Un mot de passe complexe peut être noté sur un post-it collé sous le clavier (!). Une bonne formation des utilisateurs permet d éviter les sessions ouvertes trop longtemps, les mots de passe "naïfs",... 5

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

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

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

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

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

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

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

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

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

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

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

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

Université Bordeaux Segalen Licence 3 MIASHS, semestre 6 (2014/2015)

Université Bordeaux Segalen Licence 3 MIASHS, semestre 6 (2014/2015) Université Bordeaux Segalen Licence 3 MIASHS, semestre 6 (2014/2015) Conception de Sites Web Dynamiques : TD 7 Inscription de membres - Variables de sessions - Formulaires pour insérer des images Version

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

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

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

Systèmes d'informations

Systèmes d'informations Systèmes d'informations C'est un ensemble d'outils pour stocker / gérer / diffuser des informations / des données Le stockage : Bases de données + SGDBR La gestion : Saisie, Mise à jour, Contrôle La diffusion

Plus en détail

Programmation MySQL/PHP. Programmation MySQL/PHP p.1/19

Programmation MySQL/PHP. Programmation MySQL/PHP p.1/19 Programmation MySQL/PHP Programmation MySQL/PHP p.1/19 CGI et bases de données Principe : création de documents à partir d une BD MySQL se charge du stockage, de la protection des données, de l interface

Plus en détail

T. HSU Sécurité des programmes PHP

T. HSU Sécurité des programmes PHP Sécurité des programmes PHP T. HSU IUT de LENS, Département informatique November 13, 2012 Part I Introduction à PHP Fonctionnement 1 : Requète PHP 2 : Aller chercher la page MySQL Page PHP Moteur PHP

Plus en détail

Architecture applicative de l application Web

Architecture applicative de l application Web Architecture applicative de l application Web Principes d organisation de l application PHP Gsb-AppliFrais Les principes d'organisation de l'application s'inspirent des travaux réalisés autour du contexte

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

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

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

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

COURS DE PROGRAMMATION DE SITE WEB 3 (Base de données web)

COURS DE PROGRAMMATION DE SITE WEB 3 (Base de données web) COURS DE PROGRAMMATION DE SITE WEB 3 (Base de données web) Chapitre 1 INTRODUCTION À PHP PLAN DU COURS 1.1 Les sites statiques et dynamiques 1.2 Fonctionnement d un site internet 1.3 Les langages du Web

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

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

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

Conception de sites web : examen final

Conception de sites web : examen final Conception de sites web : examen final Jean-Baptiste.Vioix@u-bourgogne.fr 17 février 2006 Nom : Prénom : 1 Questions de cours (4 pts) Pour les questions de cours, rayez la ou les réponses fausses. 1.1

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

Création d un catalogue en ligne

Création d un catalogue en ligne 5 Création d un catalogue en ligne Au sommaire de ce chapitre Fonctionnement théorique Définition de jeux d enregistrements Insertion de contenu dynamique Aperçu des données Finalisation de la page de

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

Mémento Site Dynamique / PHP

Mémento Site Dynamique / PHP Mémento Site Dynamique / PHP Pour faire fonctionner site statique : Navigateur Éditeur de texte Apache/PHP/MySQL (qu'on peut retrouver dans WampServer (uniquement Windows)) Inclure les portions de page

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

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

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

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

Cet ouvrage a bénéficié des relectures attentives des zcorrecteurs.

Cet ouvrage a bénéficié des relectures attentives des zcorrecteurs. Cet ouvrage a bénéficié des relectures attentives des zcorrecteurs. Sauf mention contraire, le contenu de cet ouvrage est publié sous la licence : Creative Commons BY-NC-SA 2.0 La copie de cet ouvrage

Plus en détail

TABLETTE NUMÉRIQUE TACTILE - IPAD

TABLETTE NUMÉRIQUE TACTILE - IPAD TABLETTE NUMÉRIQUE TACTILE - IPAD Partie 3 : La création d un identifiant Apple Sommaire Créer un identifiant Apple gratuit ou Ouvrir une session avec un identifiant... 1 1. Qu est-ce que l APP STORE?...

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

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

Projet GsbFrais virtualisation

Projet GsbFrais virtualisation Projet GsbFrais virtualisation Table des matières Première séance : deux machines physiques... 2 Où et comment s'effectue la connexion à la base de données?... 2 Quelles valeurs ont les trois variables

Plus en détail

Programmation Android TP7 - WebServices

Programmation Android TP7 - WebServices 1. WebService Dans le TP6, les avis étaient stockés dans une base SQL. Cette semaine les n-uplets sont stockés sur une base de données externe gérée par un serveur HTTP sur lequel tournent des scripts

Plus en détail

Intégration page de paiement

Intégration page de paiement Intégration page de paiement Date Version Commentaires 09/03/2010 1.0 Version initiale 01/06/2010 1.1 Ajout sécurisation des données et modification du format du montant Sommaire Introduction... 3 Solutions...

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

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

Technologies du Web. Web et sécurité. Mastère spécialisé Management et nouvelles technologies, 23 novembre 2009

Technologies du Web. Web et sécurité. Mastère spécialisé Management et nouvelles technologies, 23 novembre 2009 Sécurité côté client Technologies du Web Web et sécurité Pierre Senellart (pierre.senellart@telecom-paristech.fr) Mastère spécialisé Management et nouvelles technologies, 23 novembre 2009 P. Senellart

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

Cours Web n o 7 MySQL et PHP

Cours Web n o 7 MySQL et PHP Introduction aux bases de données Cours Web n o 7 MySQL et PHP Sandrine-Dominique Gouraud (gouraud@lri.fr) Pierre Senellart (pierre@senellart.com) Semaine du 7 novembre 2005 S.-D. Gouraud, P. Senellart

Plus en détail

Paiements via Asterisk

Paiements via Asterisk Paiements via Asterisk Jérome FRANCILLON - Émeric LAROCHE - Frédérick MEYER - Mathieu SELARIES - Emmanuel REYNAUD 11th February 2006 1 Les solutions de paiement Il existe différentes méthodes permettant

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

1 Introduction. La sécurité

1 Introduction. La sécurité La sécurité 1 Introduction Lors de l'écriture d'une application de gestion, les problèmes liés à la sécurité deviennent vite prégnants. L'utilisateur doit disposer des droits nécessaires, ne pouvoir modifier

Plus en détail

INTERFACE WEB API ENVOI DE SMS EN MASSE NOTICE D UTILISATION MAJ : 22/06/2007

INTERFACE WEB API ENVOI DE SMS EN MASSE NOTICE D UTILISATION MAJ : 22/06/2007 INTERFACE WEB API ENVOI DE SMS EN MASSE NOTICE D UTILISATION MAJ : 22/06/2007 Ce document est destiné aux professionnels, qui ont choisi d utiliser notre API, via l interface WEB mise à leur disposition,

Plus en détail

SQL MAP. Etude d un logiciel SQL Injection

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

Plus en détail

Lot 1 - Migration du serveur de base de données

Lot 1 - Migration du serveur de base de données Situation Rectiline Lot 1 - Migration du serveur de base de données Table des matières Lot 1 - Migration du serveur de base de données...1 Mise à jour du système Debian 6 :...2 Installation de PostgreSQL:...5

Plus en détail

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

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

Plus en détail

Apprendre à développer un site web

Apprendre à développer un site web Ce livre s adresse à un public de développeurs débutants connaissant déjà le HTML et les CSS et qui souhaitent bien comprendre le fonctionnement d une application web pour créer leurs propres sites web

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

Cours Web n o 8 PHP Notions avancées

Cours Web n o 8 PHP Notions avancées Gestion des chiers Cours Web n o 8 PHP Notions avancées Sandrine-Dominique Gouraud (gouraud@lri.fr) Pierre Senellart (pierre@senellart.com) Semaine du 20 novembre 2006 S.-D. Gouraud, P. Senellart (IFIPS)

Plus en détail

Types d incidents. Exemples d insécurité. La sécurité est une attitude. Et pourtant. Rappels sur le chiffrement. Principes de cryptographie

Types d incidents. Exemples d insécurité. La sécurité est une attitude. Et pourtant. Rappels sur le chiffrement. Principes de cryptographie Types d incidents Exemples d insécurité Pierre-Yves Bonnetain B&A Consultants py.bonnetain@ba-cst.com Contournement d un chiffrement Débordement de tampon Absence de validation d informations Exécution

Plus en détail

UT Installation et paramétrage logiciel de sauvegarde INSTALLATION ET PARAMETRAGE LOGICIEL DE SAUVEGARDE. Groupe PROGMAG

UT Installation et paramétrage logiciel de sauvegarde INSTALLATION ET PARAMETRAGE LOGICIEL DE SAUVEGARDE. Groupe PROGMAG GUIDE UTILISATION POINT DE VENTE INSTALLATION ET PARAMETRAGE LOGICIEL DE SAUVEGARDE SOMMAIRE 1 Créer une tâche de sauvegarde... 4 1.1 Paramètres de la tâche... 4 1.1.1 Nommer la tâche... 4 1.1.2 Emplacement

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

Vulnérabilités logicielles Injection SQL. Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI

Vulnérabilités logicielles Injection SQL. Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI Vulnérabilités logicielles Injection SQL Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI 1 Plan SQL Injection SQL Injections SQL standards Injections SQL de requêtes

Plus en détail

COMPTE RENDU D ACTIVITE ACTIVITE N 4. Identification (objectif) de l'activité. Contexte dans lequel le projet s'inscrit

COMPTE RENDU D ACTIVITE ACTIVITE N 4. Identification (objectif) de l'activité. Contexte dans lequel le projet s'inscrit BTS INFORMATIQUE DE GESTION Option Administrateur de réseaux Développeur d applications COMPTE RENDU D ACTIVITE ACTIVITE N 4 Nom et Prénom : BUISSON Pierre-Adrien EPSI Lyon 107 rue de Marseille 69 007

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

cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

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

Plus en détail

«14_Synthese _PHP_MySQL_cours_4»

«14_Synthese _PHP_MySQL_cours_4» «14_Synthese _PHP_MySQL_cours_4» Maintenant que nous nous sommes connectés à la base de données et y avons mis des informations via un formulaire (cours 13), nous allons voir comment interroger nos tables

Plus en détail

Dossier : la base de données

Dossier : la base de données Dossier : la base de données 1 Fournir les requêtes nécessaires à la création de la base de données présentée dans le document 7 Create table Demandeur ( Id INT NOT NULL, Civilite VARCHAR(5), Nom VARCHAR(15),

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

1. Avec un script php. 2. En utilisant phpmyadmin

1. Avec un script php. 2. En utilisant phpmyadmin Université Lumière - Lyon 2 Master d Informatique M1 - Année 2006-2007 Programmation Web - TDs n 8 9 : PHP - Mysql L. Tougne (http ://liris.cnrs.fr/laure.tougne), 20/11/06 L objectif de ce TD est d utiliser

Plus en détail

Baccalauréat technologique 2010 Filière STG GSI

Baccalauréat technologique 2010 Filière STG GSI Baccalauréat technologique 2010 Filière STG GSI Gestion des systèmes d'information Epreuve écrite de spécialité (durée 4h coefficient 7) Dossier 1 : Observation du processus de demande de logement (50

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

Université Mohamed Premier Année universitaire 2014/2015. Module «Technologies du Web» ---------------------------- Feuille de TP 6 MYSQL/PHP

Université Mohamed Premier Année universitaire 2014/2015. Module «Technologies du Web» ---------------------------- Feuille de TP 6 MYSQL/PHP Université Mohamed Premier Année universitaire 2014/2015 Faculté des Sciences Filière SMI S6 Module «Technologies du Web» ---------------------------- Feuille de TP 6 MYSQL/PHP Exercice 1 : Testez les

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

PHP 6 PARTIE : LES SESSIONS

PHP 6 PARTIE : LES SESSIONS PHP 6 PARTIE : LES SESSIONS 1. Introduction 2. Identificateur de session 3. Variables de session 4. Client / Serveur 5. Principe 6. Ouverture de session 7. Enregistrement de variables de session 8. Utilisation

Plus en détail

Connexion au service en ligne LexisNexis JurisClasseur et personnalisation de votre mot de passe

Connexion au service en ligne LexisNexis JurisClasseur et personnalisation de votre mot de passe Service en Ligne LexisNexis JurisClasseur GUIDE DE CONNEXION Connexion au service Personnalisation du mot de passe Procédure "mot de passe oublié" Résolution des problèmes de connexion les plus courants

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é Informatique

Sécurité Informatique Avertissements : Le contenu de ce document est sous licence GPL. Le document est librement diffusable dans le contexte de cette licence. Toute modification est encouragée et doit être signalée à olivier

Plus en détail

MANUEL D UTILISATION DU LOGICIEL GoBACKUP 4.85

MANUEL D UTILISATION DU LOGICIEL GoBACKUP 4.85 MANUEL D UTILISATION DU LOGICIEL GoBACKUP 4.85 INSTALLATION 2 SUR LE SITE DE GOBACKUP 2 SUR VOTRE ORDINATEUR 3 UTILISATION DU LOGICIEL GOBACKUP 10 LES DIFFERENTES FONCTIONS DE GOBACKUP 10 SAUVEGARDER 11

Plus en détail

www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3

www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3 L i a m T A R D I E U www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3 Sommaire Sommaire... 2 Eléments initiaux... 3 Base de données... 3 Tables... 4 membres... 4 commandes... 4 articles... 4 details_commandes...

Plus en détail

Dossier- Projet Informatique et science du numérique

Dossier- Projet Informatique et science du numérique Dossier- Projet Informatique et science du numérique Laetitia BIZOT avec la participation Eve ETIENNE Année 2014 Table des matières I. But du projet... 2 1. L enjeu du projet... 2 2. La problématique...

Plus en détail

La sécurité informatique

La sécurité informatique 1 La sécurité informatique 2 Sécurité des systèmes d information Yves Denneulin (ISI) et Sébastien Viardot(SIF) Cadre du cours Informatique civile (avec différences si publiques) Technologies répandues

Plus en détail

Guides des bonnes pratiques de sécurité informatique pour une STA ( Solution Technique d'accès )

Guides des bonnes pratiques de sécurité informatique pour une STA ( Solution Technique d'accès ) Guides des bonnes pratiques de sécurité informatique pour une STA ( Solution Technique d'accès ) Sommaire 1. Protection de son matériel et de ses données Création d'un utilisateur avec mot de passe compliqué

Plus en détail

Le document décortique une interaction HTML-PHP-SQL puis donne le corrigé pour les exercices 1 à 4.

Le document décortique une interaction HTML-PHP-SQL puis donne le corrigé pour les exercices 1 à 4. Le document décortique une interaction HTML-PHP-SQL puis donne le corrigé pour les exercices 1 à 4. I Affichage du formulaire et envoi de données A gauche le code d'une page HTML et à droite son affichage

Plus en détail

WEB APPLICATION FIREWALL AVEC APACHE ET MOD_SECURITY

WEB APPLICATION FIREWALL AVEC APACHE ET MOD_SECURITY WEB APPLICATION FIREWALL AVEC APACHE ET MOD_SECURITY version 1.00 Objectifs Cette fiche pratique permet d atteindre deux objectifs distincts et potentiellement complémentaires. Configuration d Apache en

Plus en détail

Introduction. Yannick CHISTEL 1 /7

Introduction. Yannick CHISTEL 1 /7 Introduction Dans l'académie, tous les professeurs ont une adresse à leur disposition qui se présente sous la forme «prénom.nom@ac-caen.fr» ou plus simplement «initiale_du_prénomnom@ac-caen.fr». Nous sommes

Plus en détail

Toulibre : présentation de... par Rémy Sanchez

Toulibre : présentation de... par Rémy Sanchez Toulibre : présentation de... + par Rémy Sanchez Mises en garde Cette présentation n'est qu'une présentation, et n'a aucun but d'exhaustivité : elle aspire seulement à aider votre insertion dans le monde

Plus en détail

COURS 6 Adopter un style de programmation clair

COURS 6 Adopter un style de programmation clair COURS 6 Adopter un style de programmation clair Lorsque votre site prend de l'importance, le code devient vite illisible et incompréhensible si vous ne pensez pas à l'organiser. Mais comment organiser

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

Le Web: les machines parlent aux machines

Le Web: les machines parlent aux machines Le Web: les machines parlent aux machines Historique Année 70 : ARPA (Advanced Research Project Agency). Relier les centres de recherche : ARPANET. 1972 : Premières spécifications TCP/IP (IP internet Protocol)

Plus en détail

Informations Sécurité

Informations Sécurité Bonnes pratiques Informations Sécurité La sécurité informatique désigne un ensemble de techniques et de bonnes pratiques pour protéger vos ordinateurs et vos intérêts dans l usage des moyens informatiques,

Plus en détail

Stop: mot de passe Informations destinées à l'enseignant

Stop: mot de passe Informations destinées à l'enseignant Informations destinées à l'enseignant 1/5 Mandat Tester la fiabilité d'un mot de passe: il existe des plates-formes sur l'internet qui permettent de vérifier le degré de sécurité d'un mot de passe. Les

Plus en détail

Sécurisation des applications réparties

Sécurisation des applications réparties Sécurisation des applications réparties Olivier Flauzac & Cyril Rabat olivier.flauzac@univ-reims.fr cyril.rabat@univ-reims.fr Licence 3 Info - Info0503 - Introduction à la programmation client/serveur

Plus en détail

Mysql. Les requêtes préparées Prepared statements

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

Plus en détail

SE CONNECTER A LA MESSAGERIE ACADEMIQUE ET A CIRCON SCRIPT

SE CONNECTER A LA MESSAGERIE ACADEMIQUE ET A CIRCON SCRIPT SE CONNECTER A LA MESSAGERIE ACADEMIQUE ET A CIRCON SCRIPT LA MESSAGERIE ACADEMIQUE https://courrier.ac-strasbourg.fr ADRESSE DE COURRIEL, IDENTIFIANT, MOT DE PASSE L IDENTIFIANT L identifiant de connexion

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

Programmation Web. Madalina Croitoru IUT Montpellier

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

Plus en détail

LIF4 - Programmation Web - cours PHP 2

LIF4 - Programmation Web - cours PHP 2 LIF4 - Programmation Web - cours PHP 2 Fabien Duchateau fabien.duchateau [at] univ-lyon1.fr Université Claude Bernard Lyon 1 2015-2016 http://liris.cnrs.fr/fabien.duchateau/ens/lif4/ 1/65 Rappel du cours

Plus en détail