Laravel 10 中的 SQL 注入

问题描述 投票:0回答:1

我有代码,请参阅下面的内容,这是有效的。

$city = City::find(1);
$city->location = DB::raw('geomfromtext(\'point(' . $location . ')\')');
$city->save();

问题1: 上面的代码中是否存在 SQL 注入问题,因为我使用 DB::raw() 来粘贴字符串(变量)而不进行处理?

问题2: 如果是,代码中存在SQL注入问题,如何将变量绑定到DB::raw()中?

谢谢

sql laravel database code-injection
1个回答
0
投票
  1. Laravel 的 orm(eloquent) 可以防止 sql 注入,但不能使用 raw()
  2. $city->location = DB::raw('geomfromtext(\'point(':location')\')', array('location ' => $location));就是如何在 eloquent 中绑定变量
© www.soinside.com 2019 - 2024. All rights reserved.