sql注入限制子句

时间:2017-01-07 11:22:41

标签: php mysql sql sql-injection

在以下查询中是否有可能利用sql注入?

mysql_query("SELECT `one`, `two`, `three` FROM test LIMIT ".$vulnerablepost.",2;") or die(mysql_error());

可能的查询有哪些类型?可以执行SELECT OUTFILE吗? 感谢

2 个答案:

答案 0 :(得分:2)

是的。由于输入可以被操纵或调整以注入错误的SQL。如果您的输入值看起来像

,该怎么办?
$vulnerablepost = "20;delete from student_table;select 1";

您最终会遇到如下SQL语句,这在语法上是正确的,但会让您遇到麻烦

SELECT `one`, `two`, `three` FROM test LIMIT 20;delete from student_table;select 1,2;

答案 1 :(得分:0)

是的,你不应该使用它。使用PDO或Mysqli。 http://php.net/manual/en/ref.pdo-mysql.php

因此,除非您使用的是非常旧版本的PHP,否则不应使用该功能。您甚至可以查看该页面的文档。 http://php.net/manual/en/function.mysql-query.php

Warning
This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:
mysqli_query()
PDO::query()