部署在IIS服务器的asp.net 网站,禁止访问指定类型文件

网站上的一些文件不希望用户访问,可以通过下面的方式实现,而且不需写代码(在IIS6下试验过)。

第一步,在IIS中实现映射。

哪些文件需要特殊处理。

通俗的将就是将哪种类型的文件交给特定的工厂来处理。通过这种方式可以实现自定义的请求方式。

请求到达IIS,然后IIS将请求交给我们设定的工厂处理。

对于aspx文件,默认是aspnet_isapi.dll由来处理的。

假如我们不希望用户通过浏览器直接看到网站上的xml文件,直接返回404。

首先需要在IIS中添加新的映射,将xml文件交由aspnet_isapi.dll来处理。当然,我们可以自己实现这样的功能。

如上图,点击配置按钮。

第二步,在web.config文件注册

 <system.web>
      <httpHandlers>
        <add verb="*" path="*.xml" type="System.Web.HttpNotFoundHandler" />
      </httpHandlers>
    </system.web>

这样就可以实现,当通过浏览器访问网站下的xml文件时,提示404.

补充说明

每一个文件夹都可以有自己的web.config文件,这点非常灵活,这种做法在MVC中比较普遍。

时间: 2024-08-10 23:54:24

部署在IIS服务器的asp.net 网站,禁止访问指定类型文件的相关文章

IIS+域组策略+hosts:禁止访问指定网站

一.简介 禁止访问网站可以通过多种方式实现,在网络设备上实现大概是性能最好的方式.本文在域服务器上实现该功能,优点是配置简单.可自定义跳转页面,缺点也很明显,遇到熟悉操作系统的用户,修改hosts文件可轻松破解. IIS:Web服务器,显示禁止访问的页面. 域组策略:用户登陆时自动执行脚本,将共享出来的hosts文件复制来本地. hosts:禁止访问网站的列表,原理是将网站域名重定向到某个IP地址,这里重定向到Web服务器. 二.配置 IIS配置过程略 index.html页面代码 <!DOCT

linux ftp服务器设置,只允许用户访问指定的文件夹,禁止访问其他文件夹

在Linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test 2.建用户:在root用户下: useradd -d /home/ftp ftpname //增加用户test,并制定ftpname用户的主目录为/home/ftppasswd ftpname //为ftpname设置密码 3.更改用户相应的权限设置: usermod -s /sbin/nologin ftpname //限定用户ftpname不

MVC项目实践,在三层架构下实现SportsStore-08,部署到IIS服务器

SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管理.图像上传......是不错的MVC实践项目,但该项目不是放在多层框架下开发的,离真实项目还有一段距离.本系列将尝试在多层框架下实现SportsStore项目,并用自己的方式实现一些功能. 本篇为系列第八篇,包括: ■ 10.部署到IIS服务器    □ 10.1 使用Visual Studio发布   

解决ASP.NET Core部署到IIS,更新项目&quot;另一个程序正在使用此文件,进程无法访问&quot;

问题:部署到IIS上的ASP.NET Core项目,在更新的时候会进程占用的错误 初步解决方案: 1,关闭应用程序池 2,关闭网站 3,更新项目 缺点:网站没法访问,部署项目停的时间过长 查询官方文档后,官方给出的方案: 结合官方文档,找到了一个目前看算是比较好的解决方案(一定要看底部的特别注意) 好点的解决方案(一次配置后,1秒钟更新): 1,在D盘根目录创建一个app_offline.htm文件,注意是.htm文件,不是.html 2,创建一个待发布文件夹,把需要更新的项目文件放到该目录下

asp.net 网站国际化在使用资源文件发布到IIS上不可访问,因为它受保护级别限制

asp.net 网站国际化在使用资源文件发布到IIS上报错:编译器错误消息: CS0122: "Resources.Resource"不可访问,因为它受保护级别限制 后来在网上找了很久,才找了个解决方案 在资源文件属性上选择生成操作为"内容",不要选择"嵌入的资源"

ASP.NET批量下载服务器端指定目录文件

1 //遍历服务器指定文件夹下的所有文件 2 string path = "uploads/Image/"; 3 string serverPath = Server.MapPath(path); 4 5 //创建临时文件夹 6 string tempName = DateTime.Now.ToString("yyyyMMddHHMMss"); 7 string tempFolder = Path.Combine(serverPath, tempName); 8 D

创建ACL语句使真机访问虚拟服务器的web服务并禁止访问FTP服务详解

创建ACL语句使真机访问虚拟服务器的web服务并禁止访问FTP服务 首先创建拓扑,然后规划好IP地址并连接拓扑线 配置理念是先配置简单的最后配置复杂的. 首先需要保证网络拓扑的互联互通:具体配置如下 R1上面的配置 SW3上面的配置 SW2上面的配置 SW1上面的配置 设置宿主机上的IP地址 打开虚拟机server 2008配置IP地址 给server 2008服务器 添加web服务和FTP服务 点击添加角色之后,再点击下一步,进入这个页面 再点击两次下一步,就会进入这个页面 后面根据提示点击下

1.4部署到IIS「深入浅出ASP.NET Core系列」

很多人第一次在IIS中部署Asp.Net Core App的人都会遇到问题,会发现原来的部署方式无法运行Asp.Net Core App程序.其实大的方式没有多少变化,Asp.Net Core App为了做到跨平台,自带了一个轻量级的Web Server-Kestrel,那么要在IIS中部署Asp.Net Core App,就必须有一种新的机制来协调IIS与Kestrel Server之间的数据传递 Asp.Net Core的部署模式 与传统的Asp.Net程序不同,Asp.Net Core A

asp.net 网站 发布时 去掉.cs文件

VS2013在WIN8下扁平的UI和我今天锈垢的大脑,让找这个设置找了好半天!!! OK,言归正传. 在要发布的网站上右键,选择"发布网站". 在发布窗口中,会让你选择一个发布配置文件,没有的话点击下拉菜单在里面选择新建一个. NEXT. 好,现在发布一下网站.发布出来的文件没有包含*.cs文件. 打开bin目录,会发现其中有一个名字为STAROCK_PAGES.dll文件,这就是之前根据设置生成的预编译文件. OK,就到这里吧,很简单,只是一开始真心没注意到那个下拉的设置!气人~ 收