Bonjour,

Dans ma page "login", j'ai la requête suivante et je souhaiterais avoir vos avis quant à son écriture et surtout de savoir si la sécurité de ma requête est suffisante pou pas.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
require('../connexion/config.php');
 
session_start();
if (isset($_POST['username'])){
  $username = stripslashes($_REQUEST['username']);
  $username = mysqli_real_escape_string($conn, $username);
  $password = stripslashes($_REQUEST['password']);
  $password = mysqli_real_escape_string($conn, $password);
    $query = "SELECT * FROM `users` WHERE email='$username' and password='".hash('sha256', $password)."'";
  $result = mysqli_query($conn,$query) ;
  $rows = mysqli_num_rows($result);
  if($rows == 1){
      $_SESSION['username'] = $username;
      header("Location: ../extranet.php");
      exit();
  }else{
    $message = "Le nom d'utilisateur ou le mot de passe est incorrect.";
  }
}
?>
Venant du monde de Windev, j'ai lu beaucoup d'articles sur la sécurité des requêtes et en outre de se protéger contre les injonctions sql, mais j'avoue avoir encore un peu de mal sur le sujet.
Par avance merci pour vos remarques
J'ai lu quelque part que les paramètres devaient être passés avec des "?" mais dans le cas présent, je ne vois pas commet faire