
在某些情况下,我们需要在服务器上保存一些静态文件,例如用户上传到服务器的文件。如果这些文件的存储目录恰好是应用程序目录的子目录,则其他人可以通过“ Url此文件”直接访问它。
例如:将用户上传的文件abc.txt保存在应用程序目录的UploadFiles子目录中,然后其他人便可以通过URL直接访问该文件
出于安全原因,您不希望用户通过Url访问这些文件,可以使用以下方法

1 public class RouteConfig
2 {
3 public static void RegisterRoutes(RouteCollection routes)
4 {
5 routes.RouteExistingFiles = true;//静态文件路由
6 }
7 }
此代码的功能是告诉服务器仍然需要路由静态文件(默认情况下,如果服务器发现硬盘上存在请求的文件,它将绕过路由并直接从中读取文件硬盘并将其退回)
但这还不够。如果处于“调试”模式,则需要对IIS Express进行一些设置。方法如下:

通过Visual Studio启动IIS Express(只需找到一个Web项目,在VS中打开它,然后运行F5),您将在任务栏中看到IIS Express图标。

右键单击图标=>显示所有程序
![]()

单击“站点名称”列,将出现如图所示的界面,单击配置,将在VS中打开配置文件
Ctrl + F搜索“ UrlRoutingModule-4.0”,将preCondition设置为空


保存文件并重新启动程序
您会发现您无法通过网址直接访问本地静态文件
请注意,IIS和IIS Express的处理方式不同
如果您的程序在IIS上发布,则需要在web.config中添加以下代码,否则静态文件仍将由IIS处理,并且不会被路由
内容
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxingongju/article-324390-1.html
#宋茜#
给中国造成安全威胁的情势下
那就让女性无偿服务呀