php - LIKE 运算符的 MySQL 注入(inject)

标签 php mysql sql-injection

<分区>

我在我的一个 php 文件中有下面的代码来从数据库中获取数据:

$products = $this->db->get_rows('SELECT * from products WHERE shop_id='.$_SESSION['shop_id'].'AND tags,title,text LIKE \'%'.$_POST['search'].'%\'');

有问题吗?我的意思是可以注入(inject) LIKE 运算符?

已编辑

请提供这种方式注入(inject)的例子

最佳答案

任何运算符都可以在不绑定(bind)的情况下注入(inject)。

$_POST['search'] = "1%'; DROP TABLE myTable LIKE '%";

会做

.... AND tags,title,text LIKE '%1%'; DROP TABLE myTable LIKE '%%'

继续阅读 how to bind parameters .

关于php - LIKE 运算符的 MySQL 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15579898/

相关文章:

MySql 从另一个表中减去一个表

c# - Excel 导入的 SQL 注入(inject)漏洞

php - HTML/PHP/JQUERY - "alert"更改时多个 <select> 的名称

javascript - 如何将 bootstrap 下拉菜单中的值发送到 php

mysql - 如何从 API Controller 中分离出 MySQL?

php - 选择父类别中子类别的所有产品

php - mysql_escape_string() 是否使 sql 注入(inject)变得不可能?

python - 在数据库查询字符串中转义引号的好方法?

php - "XML Parsing Error: junk after document element"

php - Laravel API - 在 Postman 中无法对未经授权的用户提供保护