我是否需要验证数据在 Laravel 中查询的使用情况


Do I need to validate data uses for querying in Laravel?

在下面的代码片段中,我是否需要验证用户是否确实输入了电子邮件或至少输入了字母数字字符?我不关心有效的输入,我只是在考虑使用原始输入数据查询数据库是否存在安全漏洞:

$user = User::where('email', Input::get('email'))->first();
在这种情况下,

没有理由进行验证。Laravel将转义您的SQL查询。

用户的输入要么与数据库中的现有电子邮件匹配,要么不匹配。

不涉及安全风险。验证在这里是多余的。

要检查用户是否输入了"真实"电子邮件,您可以使用验证器

$validator = Validator::make(
    array(
        'email' => 'required|email'
    )
);

如果失败

   if ($validator->fails())
    {
        // The given data did not pass validation
    }

有关验证的更多信息:http://laravel.com/docs/4.2/validation