程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> 防止IIS文件被下載方法

防止IIS文件被下載方法

編輯:關於C#
 

如何才能防止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()
{
//
// TOD 在此處添加構造函數邏輯
//
}
#region IHttpHandler 成員

public void ProcessRequest(HttpContext context)
{
// TOD 添加 Class1.ProcessRequest 實現
// string strRefUrl=context.Request.ServerVariables["HTTP_REFERER"];
/*插入您自己的代碼,讀文件內容並填充Response,該例僅簡單返回一條錯誤信息*/
context.Response.Write("您無法訪問該頁");
}

public bool IsReusable
{
get
{
// TOD 添加 Class1.IsReusable getter 實現
return false;
}
}

#endregion
}
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved