查询示例-SQL注入是否安全? [重复]

问题描述 投票:-2回答:1

我有一个简短的问题-下面的代码在任何版本的PHP中是否容易受到sql注入的影响?

$A = $_GET['A'];
$B = 10;
$q = "SELECT 1 FROM user WHERE name = 'admin' LIMIT ".($A*$B).",$B";
$res = mysql_query($q);
...

我在客户网站上看到了这样的代码,让我思考...但是找不到任何攻击媒介:)

php sql-injection
1个回答
-2
投票

这是SQL安全的,因为变量$ A被乘以整数$ B。但是,所有GET变量都存储字符串值,因此将$ A强制转换为整数是很明智的,例如:

$A = intval($_GET['A']);

OR

$A = (int) $_GET['A'];

不推荐使用mysqli_query(),因此您还应该切换到方法mysql_query()

© www.soinside.com 2019 - 2024. All rights reserved.