防止IIS文件被下载方法
生活随笔
收集整理的這篇文章主要介紹了
防止IIS文件被下载方法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
如何才能防止encry目錄下的所有文件被非法下載呢?我們可以應(yīng)用IIS中的應(yīng)用程序映射結(jié)合ASP.NET中的IHttpHandler自定義權(quán)限,把IIS應(yīng)用程序映射用于所有文件,并將控制權(quán)交給我們自己實(shí)現(xiàn)的IHttpHandler。
首先添加應(yīng)用程序映射:打開IIS管理器->右擊我們要控制下載的站點(diǎn)->在屬性對話框中“配置...”,將文件改為你自己.netFramework ASPnet_isapi.dll的路徑。
然后修改web.config,在system.web下添加httpHandlers項(xiàng),
?
<system.web> ... <httpHandlers> <add verb="*" path="encry/*.*" type="CustomHttpHandler.Class1,CustomHttpHandler"></add> </httpHandlers> ... </system.web> |
下面來實(shí)現(xiàn)IHttpHandler
?
//------------------------file:Class1.cs---------
using System;
using System.Web;
namespace CustomHttpHandler
{
/// <summary>
/// Class1 的摘要說明。
/// </summary>
public class Class1 : System.Web.IHttpHandler
{
public Class1()
{
//
// TOD 在此處添加構(gòu)造函數(shù)邏輯
//
}
#region IHttpHandler 成員 public void ProcessRequest(HttpContext context)
{
// TOD 添加 Class1.ProcessRequest 實(shí)現(xiàn)
// string strRefUrl=context.Request.ServerVariables["HTTP_REFERER"];
/*插入您自己的代碼,讀文件內(nèi)容并填充Response,該例僅簡單返回一條錯(cuò)誤信息*/
context.Response.Write("您無法訪問該頁");
} public bool IsReusable
{
get
{
// TOD 添加 Class1.IsReusable getter 實(shí)現(xiàn)
return false;
}
} #endregion
}
} |
總結(jié)
以上是生活随笔為你收集整理的防止IIS文件被下载方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.net实现无扩展名的URL重写。
- 下一篇: 使用FileUpload控件上传图片并自