GVKun编程网logo

如何确保在 Web 根文件夹中保存文件的安全(如何确保在 web 根文件夹中保存文件的安全性)

1

针对如何确保在Web根文件夹中保存文件的安全和如何确保在web根文件夹中保存文件的安全性这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展.NETWeb部件|Web部件管理器|Web部件区、a

针对如何确保在 Web 根文件夹中保存文件的安全如何确保在 web 根文件夹中保存文件的安全性这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展.NET Web 部件 | Web 部件管理器 | Web 部件区、asp.net-web-api – System.Web.Routing.RouteCollection不包含“MapHttpRoute”的定义 – VS 2012,Web API、asp.net-web-api – Windows.Web.Http.HttpClient WEB API Windows身份验证、asp.net-web-api – 什么将WCF Web API中的HttpOperationHandler替换为ASP.NET Web API等相关知识,希望可以帮助到你。

本文目录一览:

如何确保在 Web 根文件夹中保存文件的安全(如何确保在 web 根文件夹中保存文件的安全性)

如何确保在 Web 根文件夹中保存文件的安全(如何确保在 web 根文件夹中保存文件的安全性)

如何解决如何确保在 Web 根文件夹中保存文件的安全

我正在从事一个项目,我必须在其中存储用户的文档(docx/pdf)。由于我预计会有数千个,因此将它们作为 blob 存储在 sql 服务器中似乎不是一个好主意,我决定将它们存储在 WEB 根文件夹中并在数据库中记录路径名,但是由于每个人都可以访问它们,因此我在文件名后附加了一个 GUID,因此很难暴力破解目录并获取文件,这是否足够安全,或者我可以添加什么以使其更安全。我使用的是 ASP.NET 核心 3.1

解决方法

正如@King King 所说,如果您在网络上提供它们,则可能有人能够访问它们中的每一个。当然,您可以通过确保使用 UseStaticFiles 而不是 UseFileServer 使这变得更加困难,因此用户必须准确匹配文件名才能访问它(例如,没有默认文件处理和没有目录浏览选项)。

此外,虽然如果您只是直接映射到另一个目录并没有多大帮助,但您可以将所有文件本身托管在一个非公共文件夹中,并使用传递给 UseStaticFiles 的选项来反映为他们服务的不同路径,如下所示。将以下内容放在 app.UseAuthorization() 之后以确保在访问文件之前获得适当的授权,以便至少您可以记录任何未经身份验证的帐户尝试的暴力操作。

  1. public void Configure(IApplicationBuilder app,IWebHostEnvironment env)
  2. {
  3. //...
  4. app.UseStaticFiles(new StaticFileOptions {
  5. FileProvider = new PhysicalFileProvider ("/your/local/path"),RequestPath = "/request" //Requires a call to domain.com/request/[file] to access the file
  6. });
  7. }

.NET Web 部件 | Web 部件管理器 | Web 部件区

.NET Web 部件 | Web 部件管理器 | Web 部件区

如何解决.NET Web 部件 | Web 部件管理器 | Web 部件区

我在 ASP.NET Web 窗体中使用 Web 部件。我的项目运行正常。 但是,当我拖放 Web 部件管理器时出现此错误,谁能指导我如何在 Windows 10 中解决此问题。

与 sql Server 建立连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 sql Server 是否配置为允许远程连接。 (提供程序:sql 网络接口,错误:26 - 错误定位服务器/指定的实例)

asp.net-web-api – System.Web.Routing.RouteCollection不包含“MapHttpRoute”的定义 – VS 2012,Web API

asp.net-web-api – System.Web.Routing.RouteCollection不包含“MapHttpRoute”的定义 – VS 2012,Web API

我刚刚安装了Visual Studio 2012,并开始检查MVC 4和Web Api。
我已经用Web API创建了一个新的MVC 4应用程序。基于一些示例和教程,我开始配置我的路由:
routes.MapHttpRoute(
                name: "Controller only",routeTemplate: "api/{controller}"
            );

但是,这会导致RouteCollection不包含MapHttpRoute的定义的错误。我是否安装了一些DLL?
据我看到,我已经安装了所有正确的DLL和版本。

解决方法

我已经通过在RouteConfig.cs中添加对System.Web.Http的引用来解决它

asp.net-web-api – Windows.Web.Http.HttpClient WEB API Windows身份验证

asp.net-web-api – Windows.Web.Http.HttpClient WEB API Windows身份验证

我使用 Windows.Web.Http.HttpClient连接到我的WEB API.应用程序没有提示用户名和密码,但最近我通过将AuthorizeAttribute过滤器从Action级别移动到类级别来更改WEB API.现在我的Windows应用商店8.1应用程序提示用户ID和密码.请让我知道如何设置HttpClient不提示登录和密码. any1可以建议我,我需要添加标头到我的httpcleint

使用(Windows.Web.Http.HttpClient httpClient = new Windows.Web.Http.HttpClient())
                {
                    //添加用户代理标头
                    var headers = httpClient.DefaultRequestHeaders;

//检查用户标头值的安全方法是TryParseAdd方法
 //因为我们知道这个标题是可以的,所以我们使用ParseAdd会抛出异常
  //值不好 – http://msdn.microsoft.com/en-us/library/windows/apps/dn440594.aspx

headers.UserAgent.ParseAdd("ie");
                headers.UserAgent.ParseAdd("Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)");


                using (var response = await httpClient.GetAsync(new Uri(url)))

我没有看到发送默认凭据的方法.

解决方法

使用HttpBaseProtocolFilter.AllowUI禁用UI对话框.试试这个:

Windows.Web.Http.Filters.HttpBaseProtocolFilter filter =
    new Windows.Web.Http.Filters.HttpBaseProtocolFilter();
filter.AllowUI = false;
HttpClient client = new HttpClient(filter);

Uri uri = new Uri("http://localhost/?basic=1");
var response = await client.GetAsync(uri);
System.Diagnostics.Debug.WriteLine(response);

你需要凭证吗?使用HttpBaseProtocolFilter.ServerCredential.试试这个:

Uri uri = new Uri("http://localhost?ntlm=1");

Windows.Web.Http.Filters.HttpBaseProtocolFilter filter =
    new Windows.Web.Http.Filters.HttpBaseProtocolFilter();
filter.AllowUI = false;

// Set credentials that will be sent to the server.
filter.ServerCredential =
    new Windows.Security.Credentials.PasswordCredential(
        uri.ToString(),"userName","abracadabra");

HttpClient client = new HttpClient(filter);
var response = await client.GetAsync(uri);
System.Diagnostics.Debug.WriteLine(response);

您需要默认的Windows凭据(域凭据)吗?只需将Enterprise Authentication功能添加到Package.appxmanifest即可.

asp.net-web-api – 什么将WCF Web API中的HttpOperationHandler替换为ASP.NET Web API

asp.net-web-api – 什么将WCF Web API中的HttpOperationHandler替换为ASP.NET Web API

在升级使用WCF Web API构建的旧项目现在使用ASP.NET Web API时,我遇到了一些实现HttpOperationHandler< HttpRequestMessage,T>的类.我无法在新程序集中找到等效的类.是否存在类似的东西,还是需要采用不同的方法?

解决方法

操作处理程序的概念已替换为过滤器和模型绑定程序.

以下是一些您可能会觉得有用的链接:

> How to Migrate from WCF Web API to ASP.NET Web API
> Mike的博客于How WebAPI does Parameter Binding年
> ASP.NET WebAPI页面上的> Getting started tutorials.

希望这可以帮助.

今天关于如何确保在 Web 根文件夹中保存文件的安全如何确保在 web 根文件夹中保存文件的安全性的介绍到此结束,谢谢您的阅读,有关.NET Web 部件 | Web 部件管理器 | Web 部件区、asp.net-web-api – System.Web.Routing.RouteCollection不包含“MapHttpRoute”的定义 – VS 2012,Web API、asp.net-web-api – Windows.Web.Http.HttpClient WEB API Windows身份验证、asp.net-web-api – 什么将WCF Web API中的HttpOperationHandler替换为ASP.NET Web API等更多相关知识的信息可以在本站进行查询。

本文标签: