Connaissances Informatiques >> programmation >> PHP /MySQL Programmation >> Content
  Derniers articles
  • Comment créer un saut de ligne dans…
  • MySQL PHP WP : Comment insérer un m…
  • Comment installer Zend Optimizer sur…
  • Comment formater une chaîne d'heure…
  • Formats PHP pour le temps des timbre…
  • Comment faire pour ajouter deux nomb…
  • Comment concevoir des modèles Oscom…
  • Comment mettre à jour MySQL 
  • Comment Wild Card Adresses IP du Blo…
  • Comment vérifier le PHP si vous uti…
  •   PHP /MySQL Programmation
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    PHP /MySQL Programmation

    Injection MySQL Tutorial

    MySQL injection est un acte d'insertion déclaration MySQL dans une base de données à l'insu du propriétaire de la base de données . Il est généralement fait en exploitant les champs de saisie des utilisateurs qui ne sont pas protégées correctement . Au lieu de fournir véritable entrée que propriétaire de la base de données a demandé , l'utilisateur injecte une déclaration MySQL qui modifie le comportement de la requête de donner la capacité de l'utilisateur injection pour manipuler la base de données . MySQL injections

    La meilleure façon de comprendre et d'apprendre ce injection MySQL doesis vraiment à jeter un oeil à un exemple . L'un des moyens populaires de l'aide MySQLinjections est de contourner les contrôles connexion à des sites Web. Voici un exemple de awebsite qui utilise le formulaire ci-dessous pour authentifier l'utilisateur :

    Login: Lozinka :
    Photos

    après avoir appuyé soumettre des données entrées est ensuite envoyé à la page userlogin.php qui reçoit et passe par une requête sur la base de données pour vérifier le niveau d' accès utilisateur a et s'il est entré le nom d'utilisateur et mot de passe .

    < ? $ username = $ _POST [ 'username' ] ; $ password = $ _POST [ 'password' ] ; $ query = " SELECT nom d'utilisateur , mot de passe des utilisateurs WHERE username = ' $ username' et le mot de passe = ' $ password '"; ? > Photos

    Ce type de formulaire de connexion est grande ouverte à l'exploitation par des attaques par injection SQL . Pour accéder au site à tout utilisateur peut insérer du code ci-dessous : 'OR 1 = 1 - nom d'utilisateur et ' OR 1 = 1 pour mot de passe

    requêtes va maintenant ressembler à ceci: $ query = " SELECT nom d'utilisateur . , mot de passe des utilisateurs WHERE username ='' OR1 = 1 - 'et password = '' OR 1 = 1 " ;

    Cette requête sélectionnera nom d'utilisateur et mot de passe des utilisateurs , où les noms d'utilisateur ou mot de passe n'existent pas ( '' partie) ou si un égale un. Comme un égale un dans tous les cas, la sécurité de la base de données est compromise. Deux tirets avant apostrophe ont été ajoutés pour rendre MySQL ignorer apostrophe qui est désormais superflu . C'est juste un type d'attaque par injection MySQL. Une autre variante de cette attaque est de GetAccess à plus d'informations que l'utilisateur est autorisé à .

    Maintenant, regardez un exemple où un propriétaire de base de données utilise suivant queryto obtenir des données pour affichage sur la page d'information du compte utilisateur .

    $ query = "SELECT * FROM utilisateurs WHERE username = '$ name' " ;

    Si ce genre de requête n'est pas protégé utilisateur malveillant est capable de input'OR 1 = 1 - pour contourner les check nom d'utilisateur. $ query = "SELECT * FROM utilisateurs WHERE username = '' OR 1 = 1 - '"; . Cette requête va maintenant pas sélectionner uniquement les données de l'utilisateur, mais les données de tous les utilisateurs dans le tableau «utilisateurs»
    < br >
    protection contre MySQL injections

    Il ya plusieurs façons de se protéger contre MySQL injections . En fait, les injections SQL sont des menaces que si le développeur a ignoré la menace et ont échoué dans la protection de son code. La meilleure façon de se protéger contre les injections en PHP et MySQL combinaison est d'utiliser la fonction PHP: " mysql_real_escape_string "

    Revenons au premier exemple <$ username = $ _POST [ 'username' ] ; $ . . ? password = $ _POST [ 'password' ] ; $ query = " SELECT nom d'utilisateur , mot de passe des utilisateurs WHERE username = ' $ username' et le mot de passe = ' $ password '"; ? > Photos

    Pour protéger contre les injections MySQL utilisations directes des entrées utilisateur doivent befiltered par " mysql_real_escape_string " . Fonction " mysql_real_escape_string " n'échappera tous les caractères spéciaux SQL suppression possibilité de changer le comportement de notre requête

    <$ username = mysql_real_escape_string ( $ _POST [ 'username' ] ) ; . ? $ Password = mysql_real_escape_string ( $ _POST [ ,"'password' ] ) ; $ query = " SELECT nom d'utilisateur , mot de passe des utilisateurs WHERE username = ' $ username ' et '$ password' password = " ; ? >


     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment faire pour réinitialiser le mot de passe root MySQL 3 
  • Comment faire un site PHP pour les débutants 
  • Comment puis-je modifier un Footer dans ma thèse 
  • Comment ajouter un pilote MySQL pour VB.NET 
  • Comment créer un PDF à la volée en utilisant PHP 
  • Comment créer un lecteur MP3 en PHP 
  • Comment lire le SQL d'une routine dans MySQL 
  • Comment écrire des formulaires HTML 
  • Comment envoyer un SMS en utilisant PHP Script 
  • PHP différences String 
  • Connaissances Informatiques © http://www.ordinateur.cc