• ベストアンサー

laravelのバリデーション

laravel(api)+Vue,jsでシステム開発をしております。 バリデーションについて質問です。 laravelにおいて、例えば、検索キーワードの「1' or '1' = '1';-- 」や 登録値で「\」などは、バリデーションではじいたり、明示的にエスケープする必要があるのでしょうか。 Eloquent、クエリビルダでは自動でエスケープされる認識です(whereRawなどを除く)が、脆弱性診断で引っかかった(偽陽性可能性あり)ので質問させていただきました。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>登録値で「\」などは、バリデーションではじいたり、明示的にエスケープする必要があるのでしょうか。 「バリデーション」は、入力した値をチェックすることですので、正確には、「SQLインジェクション対策」と思います。 本題ですが、対応は、必要無いと思います。 実際に試してみましたが、こちらの環境では select * from users where email = @P1 のようになってましたので、SQLインジェクションの対策がされていました。 参考 https://trans-it.net/laravel-sqli/ 確かに、whereRawと、statementは不必要に使わない方が良さそうです。

関連するQ&A