laravel的路由是否足以抵御文件遍历攻击?

Ale*_*lex 5 security laravel

Route::get('/transaction/{name}', 'TransactionController@download');


public function download($name){
    $path = storage_path('app/something/') . $name . '.xml';
    return response()->download($path);
}
Run Code Online (Sandbox Code Playgroud)

用户只能使用此操作在app/something中下载.xml文件.

是否可以下载指定app/something文件夹之外的数据.

小智 1

据我所知 Laravel 会将你的路径编译为:

#^/transaction/(?P<name>[^/]++)$#s
Run Code Online (Sandbox Code Playgroud)

如此简单/不会不起作用..您可以使用更复杂的反斜杠 - 但这取决于服务器..

最后 - 记住不要相信所有用户输入.. 无论它是通过路由还是直接接收..