2014-12-22 57 views
1

在下面的代碼片段中,我是否需要驗證用戶確實輸入了電子郵件或至少是字母數字字符?我不關心有效輸入,我只是想,如果在詢問與原始輸入數據與數據庫的安全漏洞:我是否需要驗證在Laravel中查詢數據的用途?

$user = User::where('email', Input::get('email'))->first(); 
+3

如果您擔心SQL注入,則不需要。 Laravel使用準備好的語句來防止任何類型的SQL注入。 – lukasgeiter

回答

3

在這種情況下沒有理由進行驗證。 Laravel將逃避你的SQL查詢。

用戶的輸入或者匹配數據庫中現有的電子郵件,或者不匹配。

不涉及安全風險。驗證在這裏是多餘的。

+0

來自'Request'對象的插入怎麼樣? – Sisir

1

要檢查用戶輸入的「真實」的郵件,你可以使用驗證//如果

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

其失敗

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

更多關於驗證:http://laravel.com/docs/4.2/validation

相關問題