Php 此搜索系统易受SQL注入攻击吗?
我创建了一个基于PHP和SQLi的搜索系统。这是一个非常基本的方法,我发现所有的方法都是这样的。我只有一个问题。一个非常刻薄和愤怒的人可以把SQL注入我的搜索系统。搜索是通过POST中的HTML表单提交的 搜索系统代码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
...
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”];
...
您的代码显然易受攻击。请使用预先准备好的语句,而不是在查询字符串中串联用户输入。您没有验证您的输入,因此我猜测“是的,此查询易受注入攻击”。是的,此代码极易受攻击。请参阅此处如何正确执行此操作