如果您不希望该文件可公开访问,请勿将其放置在公共场所。
只有少数人拥有访问这些文件夹
是Web服务器的东西,有这些数据?如果是这样,那么互联网上的任何人都可以访问它。因为他们都通过网络服务器访问它。
而且我使用ASP.NET(网页形式)的应用程序,那么有没有在web.config文件中删除脆弱,因为该网址不打任何网页在我的源代码所需的任何配置。
嗯,是的,没有。如果您希望ASP.NET应用程序控制对该文件的访问,那么您希望从公开位置删除该文件,并将其放置在应用程序可以访问它的位置,但公众不能。然后,您可以使用该应用程序来控制对其的访问。
从其公共位置移除文件并将其放置在以外的地方 Web服务器的目录结构。只是在服务器上的其他位置。然后创建一个HTTP处理程序(.ashx
),或者如果你想要的话,甚至可以创建一个页面(.aspx
),虽然一个处理程序通常是首选的,因为页面会涉及不必要的开销,并使用该处理程序/页面通过代码提供文件。
代码本身可能就这么简单:
context.Response.Clear();
context.Response.ContentType = "application/pdf";
context.Response.AddHeader("Content-Disposition", "attachment; filename=File.doc");
context.Response.TransmitFile("C:\Some\Path\To\File.doc");
context.Response.End();
你可以有一个单一的处理器返回一个与,比如说指定的任何文件,查询字符串参数。虽然要小心验证文件的请求,所以用户不能只从您的整个文件系统下载任何文件。但是,当然,验证请求正是你所问的。
这样,您可以在Web应用程序中使用身份验证/授权机制在返回文件之前验证用户和请求。本质上,ASP.NET应用程序成为用户和文件之间的一种屏障。
ASP.NET实际上并没有什么关系,它只是一个由Web服务器提供的'.doc'文件。如果你担心人们可以访问它,为什么它在Web服务器上开始?为什么不把它从Web服务器的目录中删除,如果你不想访问? – David