在ASP.NET中在静态文件资源上使用GUID具有足够的保护

问题描述

我将跟着asp.net上有关提供静态文件的文档: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-3.1

在我的服务器端应用程序中;当用户上传文件时,文件对他和任何通过完全限定名称知道资源的人都是私有的。该文件可以通过邮件“共享”,这意味着电子邮件将向他和他的“追随者”发送。在电子邮件中,他上传的图像可以使用 <img src="Basepath/staticfiles/SomeGuid_filename.bmp">。 现在,电子邮件客户端可以直接显示图像而无需授权。

这正是我想要的。由于im在资源上使用guid,因此很难通过猜测来找到静态资源,因此im假定这样做将提供与API上的访问令牌相同的保护。这个对吗?目录浏览默认情况下处于关闭状态。

UseStaticFiles内容位于app.UseAuthentication(); app.UseAuthorization();的前面这样会将静态文件存储到知道静态文件名称的任何人。

        app.UseStaticFiles();
        //file system
        app.UseStaticFiles(new StaticFileOptions()
        {
            FileProvider = new PhysicalFileProvider(resourceSettings.ResourceDirectory),RequestPath = new PathString(resourceSettings.ResourceStaticFilesUrl)
        });
        app.UseRouting();

        app.UseAuthentication();
        app.UseAuthorization();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapBlazorHub();
            endpoints.MapFallbackToPage("/_Host");
            endpoints.MapControllerRoute(
                name: "default",pattern: "{controller}/{action}/{id?}");
            endpoints.MapHub<NotificationHub>("/notificationhub");

        });

所以主要问题是:在静态资源上使用GUID是否足够的保护,或者与API上的访问令牌相同?关闭目录浏览后,是否有人可以查询静态文件列表?我是“正确地”执行此操作还是有其他选择?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...