在 laravel 中防止 sql 注入
prevent sql injection in laravel
假设使用原始查询,我在 laravel
中有以下内容
$a = DB::select( DB::raw("SELECT * FROM table WHERE col = '$var'") );
在这种情况下,我如何保护我们的应用程序免受 SQL 注入攻击?
select() Illuminate\Database\Connection 中的方法有办法绑定我们的参数:
public function select($query, $bindings = array())
{
....
....
}
因此我们可以将绑定数组传递给 select() 方法
所以
$a = DB::select( DB::raw("SELECT * FROM table WHERE col = :var") , array(
'var' => $var,
));
假设使用原始查询,我在 laravel
中有以下内容$a = DB::select( DB::raw("SELECT * FROM table WHERE col = '$var'") );
在这种情况下,我如何保护我们的应用程序免受 SQL 注入攻击?
select() Illuminate\Database\Connection 中的方法有办法绑定我们的参数:
public function select($query, $bindings = array())
{
....
....
}
因此我们可以将绑定数组传递给 select() 方法
所以
$a = DB::select( DB::raw("SELECT * FROM table WHERE col = :var") , array(
'var' => $var,
));