IIS防止文件下载完全手册(非更改文件名法)

iis|文件名|下载

学以致用之IHttpHandler
问题:防止encry目录下的所有文件被非法下载
解决方案:
1,概述:应用IIS中的应用程序映射结合ASP.NET中的IHttpHandler自定义权限
IIS应用程序映射用于简单的将所有文件,并将控制权交给我们自己实现的IHttpHandler

2,实现:
2.1添加应用程序映射:打开IIS管理器->右击我们要控制下载的站点->在属性对话框中“配置...”

将红圈中的文件改为你自己.netFramework aspnet_isapi.dll的路径

2.2修改web.config在system.web下添加httpHandlers项
<system.web>
...
<httpHandlers>
<add verb="*" path="encry/*.*" type="CustomHttpHandler.Class1,CustomHttpHandler"></add>
</httpHandlers>
...
</system.web>
2.3实现IHttpHandler

//------------------------file:Class1.cs---------
using System;
using System.Web;
namespace CustomHttpHandler
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class Class1 : System.Web.IHttpHandler
{
public Class1()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
#region IHttpHandler 成员

public void ProcessRequest(HttpContext context)
{
// TODO: 添加 Class1.ProcessRequest 实现
// string strRefUrl=context.Request.ServerVariables["HTTP_REFERER"];
/*插入您自己的代码,读文件内容并填充Response,该例仅简单返回一条错误信息*/
context.Response.Write("您无法访问该页");
}

public bool IsReusable
{
get
{
// TODO: 添加 Class1.IsReusable getter 实现
return false;
}
}

#endregion
}
}
//-----------------file:end------------------------------------------------

时间: 2024-11-17 03:57:26

IIS防止文件下载完全手册(非更改文件名法)的相关文章

IIS组建Intranet完全手册(一)

IIS组建Intranet完全手册(序) 不断有收到读者和网友的来信询问如何在建立内部的电子邮件系统.如何在局域网中发布主页,以及是否可以在局域网中利用AceFTP.CuteFTP来上传个人主页到单位的 Intranet 服务器等问题.对于建立内部电子邮件系统这个问题,大家可以参见本站的<利用MS 电子邮局建立简易邮件系统>一文,我们在这里将连续讲解如何通过 IIS 来建立一个 Intranet ,主要是 WWW.FTP服务器的建立及DNS.DHCP服务器.WINS服务器的建立,同时说明在局域

IIS组建Intranet完全手册(三)

IIS组建Intranet完全手册(三) 三.FrontPage 98 网站的上传 在<FrontPage 98网站FTP到NT服务器>一文里主要讲了在 IIS 中设置 FTP 服务器及在 FrontPage 如何上传的方法,在这里,我们除对其做出补充外,还将介绍如何通过 AceFTP 来上传主页.首先,必须为每个用户创建一个帐号,并设定密码,以供他们上传.更新自己的个人主页.步骤如下: 依次选取"开始"/"程序"/"管理工具(公用)"

如何快速更改文件名

  我们知道,很多时候需要更改文件名,在一般情况下,点击右键,然后点击重命名,再输入新的名称,这样未尝不可,但是如果更改的文件较多,就非常麻烦,我们可以使用快捷键F2,点击文件,按F2,然后就可以改名了,这样是不是很简单啊?

写了个读取EXIF拍摄时间更改文件名的程序 但读取到的string始终有问题 求助

问题描述 主程序:usingSystem;usingSystem.Collections.Generic;usingSystem.Windows.Forms;usingSystem.IO;namespacePhoto_name_change_tool{publicpartialclassForm1:Form{publicList<string>FilesName=newList<string>();publicForm1(){InitializeComponent();}priva

c#-aspx页面下载文件时如何更改文件名

问题描述 aspx页面下载文件时如何更改文件名 这是我的下载路径 http://localhost:17262/sqlExcel/goods.xls 下载的时候如何将goods.xls更为主表.xls 解决方案 只能由肯段另存为,要么你就用aspx动态输出goods.xls,设置content-disposition为attachment;filename="主表.xls",用代码修改文件名 解决方案二: 下载文件时,文件名乱码.HTTP下载文件时的文件名编码问题seagull --

修改代码-求解这段函数代码的正确更改之法~

问题描述 求解这段函数代码的正确更改之法~ IplImage *src = cvCreateImage(cvSize(1000800) IPL_DEPTH_8U3); dst = cvCreateImage(cvGetSize(src) 8 3); //以下rheight.rwidth.rx.ry是经过拟合函数的坐标值等信息计算得出的 float rheight=box.size .height *abs(cos(box.angle))+box.size.width*abs(sin(box.an

IIS组建Intranet完全手册(二)

二.IIS 管理器的配置.应用 1.安装 IIS : IIS可以在安装NT Server 4.0的同时选择"安装 Microsoft Internet Information Server"复选项进行安装,也可以在安装NT Server 4.0后再进行安装.在安装IIS之前,系统必须已经安装TCP/IP协议. 下面说明如何在 Windows NT 环境安装 IIS 服务:依次选取"开始"/"设置"/"控制面板"/"网

Mac更改文件名后缀时的提示怎么关掉

  我想大家都了解文件名后面的后缀是来帮助操作系统辨识这是一个什么类型的文件的.在你双击这个后缀的文件的时候就会调用默认的应用程序来打开这个文件.但是确实有些时候文件名的后缀不是我们想要的那样,那么你可以通过两次点击文件名来重命名文件包括这个文件的后缀.但是如果你更改了文件的后缀名,系统会弹出一个对话框来让你确定你着实是要这么做.其实我们完全可以禁用掉这个讨厌的对话框.操作方法如下: 1.在"应用程序"中的"实用工具"中找到并打开"终端",然后在

Mac如何禁用更改文件名后缀提示

  我想大家都了解文件名后面的后缀是来帮助操作系统辨识这是一个什么类型的文件的.在你双击这个后缀的文件的时候就会调用默认的应用程序来打开这个文件.但是确实有些时候文件名的后缀不是我们想要的那样,那么你可以通过两次点击文件名来重命名文件包括这个文件的后缀.但是如果你更改了文件的后缀名,系统会弹出一个对话框来让你确定你着实是要这么做.其实我们完全可以禁用掉这个讨厌的对话框.操作方法如下: 1.在"应用程序"中的"实用工具"中找到并打开"终端",然后在