Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 此搜索系统易受SQL注入攻击吗?_Php_Sql_Search - Fatal编程技术网

Php 此搜索系统易受SQL注入攻击吗?

Php 此搜索系统易受SQL注入攻击吗?,php,sql,search,Php,Sql,Search,我创建了一个基于PHP和SQLi的搜索系统。这是一个非常基本的方法,我发现所有的方法都是这样的。我只有一个问题。一个非常刻薄和愤怒的人可以把SQL注入我的搜索系统。搜索是通过POST中的HTML表单提交的 搜索系统代码 ... require 'includes/dbh.inc.php'; $search = $_POST['search']; $mysqli = $conn; $query = "SELECT * FROM listings WHERE listing_nam

我创建了一个基于PHP和SQLi的搜索系统。这是一个非常基本的方法,我发现所有的方法都是这样的。我只有一个问题。一个非常刻薄和愤怒的人可以把SQL注入我的搜索系统。搜索是通过POST中的HTML表单提交的

搜索系统代码

...

require 'includes/dbh.inc.php';

$search = $_POST['search'];

$mysqli = $conn;

$query = "SELECT * FROM listings WHERE listing_name LIKE '%".$search."%'";
echo '<b> <center class="listingstitle">Listings</center> </b> <br> <br>';


if ($result = $mysqli->query($query) and mysqli_num_rows($result) > 0) {

    while ($row = $result->fetch_assoc()) {
        $price = $row["listing_price"];
        $name = $row["listing_name"];
        $seller = $row["listing_seller"];
        $picture = $row["listing_picture"];

...
。。。
要求“includes/dbh.inc.php”;
$search=$_POST['search'];
$mysqli=$conn;
$query=“从列表中选择*,其中列表名称类似“%”“$search.”“%”;
回显“列表”

; 如果($result=$mysqli->query($query)和mysqli\u num\u行($result)>0){ 而($row=$result->fetch_assoc()){ $price=$row[“挂牌价格”]; $name=$row[“listing_name”]; $seller=$row[“挂牌卖方”]; $picture=$row[“listing_picture”]; ...
您的代码显然易受攻击。请使用预先准备好的语句,而不是在查询字符串中串联用户输入。您没有验证您的输入,因此我猜测“是的,此查询易受注入攻击”。是的,此代码极易受攻击。请参阅此处如何正确执行此操作