在下面的片段中,我是否需要验证用户是否确实输入了电子邮件或至少输入了alpha-数字字符?我并不关心有效的输入,我只是在想,在使用原始输入数据查询数据库时是否存在安全漏洞:
$user = User::where('email', Input::get('email'))->first();
发布于 2014-12-21 17:24:08
在这种情况下,没有理由进行验证。Laravel将逃离SQL查询。
用户的输入要么与数据库中现有的电子邮件匹配,要么不匹配。
不涉及安全风险。这里的验证是多余的。
发布于 2014-12-21 16:55:26
要检查用户是否输入了“真实”电子邮件,您可以使用验证器
$validator = Validator::make(
array(
'email' => 'required|email'
)
);
//如果其失败
if ($validator->fails())
{
// The given data did not pass validation
}
关于验证的更多信息:http://laravel.com/docs/4.2/validation
https://stackoverflow.com/questions/27595361
复制相似问题