如何保护我的代码免受sql注入

lmyy7pcs  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(337)

这段代码对sql注入有安全保护吗?如果不是,我该如何保护这段代码不受sql注入的影响?提前谢谢。

error_reporting(E_ALL); 
ini_set('display_errors', 1);
$servername = "";
$username = "";
$password = "";
$db_name = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $db_name);
// Check connection
if ($conn->connect_error){
  die("Connection failed: " . $conn->connect_error);
} 
$id = $_GET['id'];
$id = mysqli_real_escape_string($conn,$id);
$query = "SELECT * FROM `images` WHERE `file_title`='" . $id . "'";
$result = mysqli_query($conn,$query);

 while($row = mysqli_fetch_array($result)) {
        echo '<video width="100%" class="video" controls>';
        echo '<source src="uploads/'.$row['file_name'].'" type="video/mp4">';
    echo '</video>';
}
2o7dmzc5

2o7dmzc51#

您总是需要使用参数化查询语法,而不是常规的字符串连接(您现在正在做)
而不是

$query = "SELECT * FROM `images` WHERE `file_title`='" . $id . "'";

你需要使用

$query = "SELECT * FROM `images` WHERE `file_title`= @title ";

您需要相应地添加参数

$title="this is title";
$stmt->bind_param("i", $id);

相关问题