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)
如此简单/不会不起作用..您可以使用更复杂的反斜杠 - 但这取决于服务器..
最后 - 记住不要相信所有用户输入.. 无论它是通过路由还是直接接收..