如何在asp.net保护文件

asp.net

如何在asp.net保护文件 简介如果我们做网站是用Access数据库作为数据源,则我们最关心的是Access数据库文件的安全问题。如果我们将存有重要信息(如密码、付款信息、个人私有的数据等等)的.mdb文件,放在Web服务器上可访问的目录中,任何一个人若猜到数据库文件名就可以通过浏览器或其他下载工具进行下载,这是非常危险的。 有许多方法对.mdb数据库文件进行保护,甚至任何一个你想保护的文件。最直接有效的方法是把.mdb数据库文件放在web服务器non-web accessible目录中。许多web服务器中,都提供一个特殊的可读写的database目录,但它是不准以网页形式进行访问的。 理解IIS和asp.net如何工作当访问一个从IIS服务器请求时,IIS ISAPI(Internet server application programming interface ,英特网服务器应用编程接口)会对被访问文件的扩展名进行检查,其访问的文件类型是否被web服务器解析器屏蔽。 Web服务器默认时,IIS对于简单的请求会返回其文件包含的内容。它会解析出所认知的存在的文件,如图片、html页面、CSS文件、扩展的Javascript文件等,例如,当访问一个html文件时,IIS返回它所包含的内容信息。 对于内容是动态生成的文件,ISAPI对请求的文件进行动态生成内容。比如,一个用asp语言做的网站,其.asp的文件会映射到扩展了的asp.dll英特网服务器应用编程接口中进行解析。扩展了的Asp.dll英特网服务器应用编程接口自动解析web服务器请求的asp页并返回生成的html文件内容。如果你的网站是使用asp.net语言写的,IIS则会把.aspx文件映射给扩展了的aspnet_isapi.dll英特网服务器应用编程接口,当aspnet_isapi.dll接受到.aspx文件的请求时,扩展了的aspnet_isapi.dll英特网服务器应用编程接口在进程中自动生成为html文件的内容。 扩展了的aspnet_isapi.dll英特网服务器应用编程接口是一个非托管的代码。它不能在.net Framwork中运行。当IIS发送请求到扩展的英特网服务器应用编程接口,即aspnet_isapi.dll在asp.net引擎上转发它的请求并通过.Net Framwork托管代码进行解析 。 ASP.NET引擎非常接近于IIS,就好像IIS有一个目录将指定的文件类型映射到ISAPI上,但ASP.NET引擎将文件类型映射到HTTP Handlers。一个HTTP Handler 是一个为特定文件类型自动生成的托管代码。例如,ASP.NET是用PageHandlerFactory生成的;网络服务的SOAP响应是用WebServiceFactoryHandler生成的。PageHandlerFactory 知道如何将一个ASP.NET网页解析为HTML文件;WebServiceFactoryHandler 知道如何将接收到的SOAP响应为其调用正确的网络服务的方法并返回正确格式的SOAP响应。 测试HttpForbiddenHandlerASP.NET网络应用程序是通过XML格式文件进行配置的,即Web.config文件。此文件包含的主要信息有:●     据库连接字符串●     认证用户的信息,可包括用户名和蜜码●     其他相关的缓存、编码等配置信息 花点时间,你试着访问一个ASP.NET网络应用程序的Web.config文件,结果如何?很明显,允许所有网络访问者看到ASP.NET网络应用程序的Web.config文件的内容是很危险的,所以,ASP.NET 网络应用程序已配置aspnet_isapi.dll将.mdb文件类型过滤掉。 如何在访问Web.config文件时阻止呢?在IIS中,.config文件映射到ASP.NET ISAPI上,那么ASP.NET引擎会把请求的.config文件映射到HttpforbiddenHandler HTTP handler,接着HttpForbiddenHandler HTTP handler 通过网页浏览器以HTML的格式返回给用户。 现在我们来看如何在ASP.NET中使用HttpForbiddenHandler HTTP handler 来保护.config文件,我们也可以参照此技术来保护.cs、.vb、.webinfo、.vbproj、.csproj、.resx等其他文件类型。同样地,我们用此技术来保护Access数据库文件(.mdb文件)或是任何一个文件类型。在下面章节中,我们将看到保护指定文件类型的必要步骤。 保护.mdb文件为了达到保护.mdb数据库文件类型和.config文件类型,我们必须设置以下两个步骤:1.     配置IIS,将.mdb文件类型映射到ASP.NET ISAPI2.     配置ASP.NET,将.mdb文件类型映射到HttpForbiddenHandler HTTP handler 你必须在网页服务器上在IIS中,将.mdb文件类型映射到aspnet_isapi.dll ISAPI上。登录到网页服务器,通过[开始]—>[管理工具]—>[Internet 服务管理器],下一步,在某一个网站上右击,会出现弹出式菜单,接着选择[属性]弹出此站点的属性对话框,点击[主目录]选项卡,点击[配置]按钮,则会显示[应用程序配置]对话框,如下所示

Windows NT/2000/XP Windows 2003

点击[添加]增加一个映射,这时会显示一个对话框,要你输入ISAPI的文件名,此文件名可以是.exe或是.dll文件,它会阻止用户请求时的特殊文件类型(你也可以阻止其文件类型的所有HTTP请求(GET和POST)或是特定的HTTP动作)那么,输入*.mdb回车,选择可执行的文件为ISAPI为aspnet_isapi.dll(此文件可以在当前$WINDOWS_DIR$\Microsoft.Net\Framework\$VERSION$中找到)。 现在我们已配好.mdb过滤器,我们还要做最后一步:使网络应用程序.mdb文件类型映射到HttpForbiddenHandler HTTP 句柄。为了达到这上步,我们必须将下面的配置加到Web.config文件中:

<httpHandlers>
   <add verb="*" path="*.mdb" type="System.Web.HttpForbiddenHandler" />
</httpHandlers>
必须将此段代码放在<system.web>这一节中,当前的网络应用程序在访问该程序使用的.mdb时,就会阻止访问。
如果你想将所有的网络应用程序都无法访问*.mdb文件类型,将<add verb="*" path="*.mdb" type="System.Web.HttpForbiddenHandler" /> 
加入到machine.config文件的<httpHandlers>节中。(machine.config可在$WINDOWS_DIR$\Microsoft.Net\Framework\$VERSION$\CONFIG 目录中找到) 

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索服务器
, 文件
, 类型
, config
, dll生成windows编程dll
, 一个
, ASP.NET访问文件夹
, Aspnet_isapi
aspnet_isapi.dll
,以便于您获取更多的相关知识。

时间: 2024-08-24 08:26:10

如何在asp.net保护文件的相关文章

js文件-帮忙看看这样的JS文件如何在ASP页调用显示如下结果

问题描述 帮忙看看这样的JS文件如何在ASP页调用显示如下结果 function Flash_Car_Ex(name, carname, carswfhost, carswf) { parent.d.writemsg("u", "<font color=#00bb00>: " + name + " " + carname + " </font>"); parent.ShowMagicFace(carsw

以前收集的一些资料---如何在ASP中通过ODBC调用Excel中的数据

excel|odbc|数据                如何在ASP中通过ODBC调用Excel中的数据    在ASP中通过ODBC调用Excel中的数据方式和普通的通过ODBC调用数据库的方式有一些不同的地方.下面将介绍如何通过ODBC在ASP中使用Excel的数据.    在使用的过程中,要注意的是你需要使用的ODBC驱动为:Microsoft ODBC Driver for Excel. 下面给出一个例子来具体说明如何调用的过程:1.在Excel的电子表格中新建一个叫Range的表单a

如何在ASP中实现PING (To Tracy)

如何在ASP中实现PING 使用WSH调用系统的Ping命令,将Ping的结果重定向到一个文本文件中去,再把文本文件显示到网页中 具体做法如下:首先, 建一个.BAT文件(例如:myPing.BAT:),这个文件要在ASP中调用,文件代码如下:ping -a %1 > d:\INetPub\cgi-bin\%2.txt (%1)是将来要ping的地址, (%2)是存储ping结果的文件. 以下是ASP的代码: <%Set FileSys = Server.CreateObject("

巧用ASP技术保护DHTML源代码(转)

dhtml|源代码 巧用ASP技术保护DHTML源代码2001-8-18  动网先锋   DHTML使得我们能够开发出功能强大的Web应用客户端,它具有跨浏览器兼容.可交互和可移植等特点.它的缺点是用户能够直接查看JavaScript代码.本文介绍如何运用ASP技术保护DHTML代码,防止有人窃取你的DHTML代码. 传统保护技术 众所周知,Web本质上是一种不安全的媒介.当用户访问Web应用或者打开Web页面时,所有客户端的代码(HTML,JavaScript源文件以及CSS样式)一般都要下载

以前搜集的一些资料---如何在ASP中实现错误陷阱技术

错误 如何在ASP中实现错误陷阱技术(即实现VB中的所谓的On Error GoTo)代码如下(一共4个文件)1.error1.asp(用来生成错误)<html><head><title>输入数据</title></head> <body> <form method="POST" action="error2.asp" name="form1">  <div

巧用ASP技术保护DHTML源代码

dhtml|源代码 DHTML使得我们能够开发出功能强大的Web应用客户端,它具有跨浏览器兼容.可交互和可移植等特点.它的缺点是用户能够直接查看JavaScript代码.本文介绍如何运用ASP技术保护DHTML代码,防止有人窃取你的DHTML代码. 传统保护技术 众所周知,Web本质上是一种不安全的媒介.当用户访问Web应用或者打开Web页面时,所有客户端的代码(HTML,JavaScript源文件以及CSS样式)一般都要下载到客户端缓冲区.用户只需点击一下"查看源文件"就可以查看.分

如何在ASP中实现PING

如何在ASP中实现PING 使用WSH调用系统的Ping命令,将Ping的结果重定向到一个文本文件中去,再把文本文件显示到网页中 具体做法如下: 首先, 建一个.BAT文件(例如:myPing.BAT:),这个文件要在ASP中调用,文件代码如下: ping -a %1 > d:\INetPub\cgi-bin\%2.txt (%1)是将来要ping的地址, (%2)是存储ping结果的文件. 以下是ASP的代码: < % Set FileSys = Server.CreateObject(&q

如何在ASP.NET中用OWC绘制图表(1)

asp.net|图表 如何在ASP.NET中用OWC绘制图表 (1) 一.概述 二.设置图表引擎 三.OWC的许可证问题 四.OWC的运行机制 五.在Web服务器上安装OWC 10 六.OWC编程模式 ━━━━━━━━━━━━━ 正文: ━━━━━━━━━━━━━ 一.概述 在开发应用程序时,经常会遇到必须提供交互式图表的情况.例如,你可能在开发一个管理销售和产品数据的应用程序,数据保存在SQL Server数据库上,应用程序允许用户添加数据.更新现有数据,但除了这些功能之外,客户还要求应用程序

如何在ASP中使用数据库

  本篇教大家如何在ASP中使用数据库: ASP有一个最重要的功能,就是它可以让你非常轻松地连接数据库.通常都是和一个Access或者一个SQL数据库相连.因为Access是最容易起步的,同时,在你的机器上也许已经都装有Access了,所以,在下面的例子中,我们都将使用Access来做例子.一旦你学习了ASP和Access数据库连接的核心技术方法,当你开始使用SQL server的时候,你就会发现,两者所需要的关键技术是基本相同的. 当你要连接数据库的时候,你需要在服务器上将这个数据库打开.你可