用户能否逃脱asp.net core的应用程序文件夹?

时间:2018-10-23 09:15:25

标签: c# asp.net security asp.net-core asp.net-core-mvc

例如文件css.css可以访问,因为它应该可以访问

访问网址:

  

localhost:1234 / css.css

projects_folder
    - application.dll
    - wwwroot\css.css

但是情况如何呢?

disk
     secret_folder
          - secret.txt
     application_folder
          - application.dll
          - wwwroot\css.css

我可以安全地假设用户无法使用此even with some tricks!

  

localhost:1234 /../ secret_folder / secret.txt

默认使用ASP .NET Core的MVC模板吗?

1 个答案:

答案 0 :(得分:1)

这取决于应用程序的配置方式。

在默认的ASP .NET Core的MVC模板中,您应该在Startup中配置以下内容。配置为允许访问wwwroot文件夹中的静态文件:

public void Configure(IApplicationBuilder app)
{
    app.UseStaticFiles(); // For the wwwroot folder
}

无参数UseStaticFiles方法重载将Web根目录(wwwroot)中的文件标记为可服务。

要访问Web根目录之外的静态文件,您将需要添加进一步的配置,如以下链接中所述:

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-2.1&tabs=aspnetcore2x