Bonjour,

J'ai quelques questions pour éviter les failles php...

Mon objectif est de:
- Récupérer une information du client, par POST
- Stocker cette donnée dans une BDD grâce à PDO
- Récupérer plus tard cette donnée dans la BDD et l'afficher

Voici mon code pour l'enregistrement de la donnée dans la BDD :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
if(isset($_POST['name']))
{
       $name = $_POST['name'];
       $sql=$connexion->prepare('INSERT INTO Matable (name) VALUES (?)');
       $sql->execute(array($name));
}
PDO doit normalement protégé contre les injections SQL. Y-a-t-il une faille dans mon script ?

Même question pour un SELECT, pour demande d'authentification:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
if(isset($_POST['login']) && isset($_POST['password']))
{
       $login = $_POST['login'];
       $password = $_POST['password'];
       $sql=$connexion->prepare('SELECT * FROM Matable2 WHERE login=? and password=?');
       $sql->execute(array($name, $password));
}
Ensuite pour récupérer les infos dans ma BDD (introduite grace à mon premier exemple) et les afficher j'utilise ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
$sql=connexion->query('SELECT * FROM Matable');
while($ligne = $sql->fetch())
{
    $name = htmlentities($ligne['name']);
    echo $name;
}
Y-a-til une faille dans ce code?

Merci d'avance pour vos réponses