Laravel 删除查询生成器

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

在 Laravel 4 中,

Illuminate\Database\Query
类中的
Builder
函数接受
delete
作为
null
参数。这个函数的行为意味着如果我有类似的东西:

id

如果 
DB::table('users')->where('id', $id)->delete();

将作为

$id
传递,它将截断整个表。这意味着除了标准验证之外,我还必须使用
null
验证来包装每个删除语句。这是安全漏洞还是被视为标准做法?
    

php mysql laravel-4
3个回答
103
投票
! is_null($id)

子句。 where


上面与此相同:

DB::table('users')->delete($id);

您显然需要在使用这些方法之前执行检查,以确保提供了有效的 ID。我不会说这是一个安全漏洞,只是作为开发人员在开发应用程序时需要注意的事情。您不会在没有首先验证输入的情况下随意删除内容。


DB::table('users')->where('id', $id)->delete();


0
投票
 DB::table('table_name')->where('table_id', $request['request_id'])->delete();

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.