Quels sont les failles sql possible ?

Résolu
Mouslim02 Messages postés 342 Statut Membre -  
Mouslim02 Messages postés 342 Statut Membre -
bonjours
voila je cherche a connaitre les failles php
et plus precisement les failles sql
moi je ne sais utiliser que PDO (je ne sais pas comment faire avec Mysql ou Mysqli)
j'ai cherche les failles sql
j'ai trouvé qu'il est possible de faire ce genre de chose 'OR 1 = 1 or 1 =' comme nom d'utilisateur et un mot de passe bidon et hop on rentre facilement
mais j'ai essayé avec mon propre scripte en utilisant PDO et cette faille ne marche pas
voila le code source
<?php


try
{
$bdd = new PDO('mysql:host=localhost;dbname=aiw', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$req = $bdd->prepare('SELECT id FROM membre WHERE pseudo = :pseudo AND password = :pass');
$req->execute(array(
'pseudo' => $_POST['pseudo'],
'pass' => $_POST['password']));
$resultat = $req->fetch();

if (!$resultat)
{

 header('Location:index.php?message=indentifiant incorrecte');
}
else 
{

header('Location:index.php?message=indentifiant correcte');
}
?>

j'aimerais savoir quelles sont les failles possibles pour des injections sql et comment les securiser
je veut apprendre a bien securiser mes sites web et non les exposer au danger
merci de votre aide d'avance :)

5 réponses

  1. Pitet Messages postés 2845 Statut Membre 530
     
    Salut,

    En utilisant correctement les requêtes préparées de PDO (avec paramètres) comme tu le fait dans le code de ton premier message, tu ne risques aucunes injections sql.

    Bonne journée
    2
    1. Mouslim02 Messages postés 342 Statut Membre 30
       
      salut pitet
      oui je vais bientôt mettre le site sur internet et j'été unpeu inquiet
      vous dites que toutes les injections sont impossible avec ce script
      mateo21 est donc un bon prof
      merci bcp vous me rassurez :)
      0
  2. canarder Messages postés 2034 Statut Membre 357
     
    Vérifie tes deux champs avec :
    if(preg_match('/^[\w_]+$/',$post['xxx']))
    1
    1. Mouslim02 Messages postés 342 Statut Membre 30
       
      Salut
      Euh jai pas compris votre reponse
      0
    2. Mouslim02 Messages postés 342 Statut Membre 30
       
      merci
      0
  3. bg62 Messages postés 23433 Date d'inscription   Statut Modérateur Dernière intervention   2 435
     
    lut;)
    si tu as un peu de patience, pour vraiment trouver :
    https://longuetraine.fr/index.php?article968/verifier-la-securite-site-web
    c'est long mais c'est bon .... :)
    1
    1. Mouslim02 Messages postés 342 Statut Membre 30
       
      salut bg62 et dsl pour le retard
      oui j'ai jeté un coup d'oeil sur la page que vous mavez donné ça a l'air tres intéréssant
      je vais la lire
      merci bcp j'ai vu qu'il y avait une liste d'attaque possible c'est ce que je cherchais merci bcp :)
      0
  4. Npok
     
    Salut,
    C'est normal que ton test de faille avec " 'OR 1 = 1 or 1 =' " ne fonctionne pas. Cette faille est fix avec PDO. Du coup plus de soucis au niveau de cette faille de sécurité là ;)

    Pour ce qui est des autres failles je ne peux pas trop te guider mais les ressources au dessus on l'air top !
    1
    1. Mouslim02 Messages postés 342 Statut Membre 30
       
      salut napok vous me rassurez une faille de moins
      pdo est donc efficace :D
      merci
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. canarder Messages postés 2034 Statut Membre 357
     
    Néanmoins, il est judicieux de traiter les erreurs d'insertions avec les fonctions is_* et preg_match.
    1
    1. Mouslim02 Messages postés 342 Statut Membre 30
       
      tout a fait d'accord ne jamais se sentir à l'abri ;)
      0