在下面的代碼片段中,我是否需要驗證用戶確實輸入了電子郵件或至少是字母數字字符?我不關心有效輸入,我只是想,如果在詢問與原始輸入數據與數據庫的安全漏洞:我是否需要驗證在Laravel中查詢數據的用途?
$user = User::where('email', Input::get('email'))->first();
在下面的代碼片段中,我是否需要驗證用戶確實輸入了電子郵件或至少是字母數字字符?我不關心有效輸入,我只是想,如果在詢問與原始輸入數據與數據庫的安全漏洞:我是否需要驗證在Laravel中查詢數據的用途?
$user = User::where('email', Input::get('email'))->first();
在這種情況下沒有理由進行驗證。 Laravel將逃避你的SQL查詢。
用戶的輸入或者匹配數據庫中現有的電子郵件,或者不匹配。
不涉及安全風險。驗證在這裏是多餘的。
來自'Request'對象的插入怎麼樣? – Sisir
要檢查用戶輸入的「真實」的郵件,你可以使用驗證//如果
$validator = Validator::make(
array(
'email' => 'required|email'
)
);
其失敗
if ($validator->fails())
{
// The given data did not pass validation
}
如果您擔心SQL注入,則不需要。 Laravel使用準備好的語句來防止任何類型的SQL注入。 – lukasgeiter