Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> 不用改文件名 防止IIS文件被下載方法

不用改文件名 防止IIS文件被下載方法

日期:2017/2/8 10:31:22      編輯:關於服務器

如何才能防止encry目錄下的所有文件被非法下載呢?我們可以應用IIS中的應用程序映射結合ASP.NET中的IHttpHandler自定義權限,把IIS應用程序映射用於所有文件,並將控制權交給我們自己實現的IHttpHandler。

首先添加應用程序映射:打開IIS管理器->右擊我們要控制下載的站點->在屬性對話框中“配置...”,將文件改為你自己.netFramework ASPnet_isapi.dll的路徑。

然後修改web.config,在system.web下添加httpHandlers項,

<system.web> 
... 
<httpHandlers> 
<add verb="*" path="encry/*.*" type="CustomHttpHandler.Class1,CustomHttpHandler"></add> 
</httpHandlers> 
... 
</system.web>

下面來實現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 
} 
}
Copyright © Windows教程網 All Rights Reserved