【发布时间】:2016-04-27 04:09:18
【问题描述】:
我有这样的路线
Route::get('/car-{travelType}/{cityFrom}-{cityTo}-{id}.html','ArticleController@getDetail')->name('articles_detail');
在我的控制器中,我捕获了这样的参数
public function getDetail($cityFrom, $cityTo, $id, Request $request)
{
$article_detail = DB::select("CALL article_detail(?,?,?)", [$cityFrom,$cityTo,$id]);
return $article_detail;
}
这可以正常工作,但是由于路由发送了原始参数,因此该查询会出现 sqlinjection 问题。
在 post 请求中,我可以捕获像 $request->input('some_fields') 这样的请求,laravel 会在屏幕后面保护我,但不能在 get 请求中。
我该如何解决这个问题?
【问题讨论】:
-
-
@LoganBailey 哦,这是真的。非常感谢,对不起,我在问之前没有测试过代码:(
-
那些不是查询字符串变量它们是路由参数