亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

ASP.net中實現基于UrlRewrite的防盜鏈功能

2024-07-10 13:27:22
字體:
來源:轉載
供稿:網友
在ASP.net中最快實現UrlRewrite的方法這篇文章中說了如何做UrlRewrite,那只是一個最簡單的應用

其實利用UrlRewrite與IIS的設置我們可以實現簡單而有效的防盜鏈功能。

假設你的站點有一個文件:web.rar,你希望只有具有某些特定域名的來源地址或是已經登陸的用戶才能訪問,這時就得用到防盜鏈功能,在ASP時代,我們需要借助第三方組件來完成這個效果,但是在ASP.net中我們可直接利用Context.RewritePath來實現了。

下載配置文件:

復制代碼 代碼如下:


<?xml version="1.0" encoding="utf-8"?>
<DownLoad>
<CheckType>1</CheckType>
<CookiesName>username</CookiesName>
<UrlPattern>
<![CDATA[//(.+?)/.rar/b]]>
</UrlPattern>
<UrlReplace>
<![CDATA[Default.aspx?d=$1.rar]]>
</UrlReplace>
<AllowHost>
<![CDATA[127.0.0.1]]>
</AllowHost>
</DownLoad>


說明:

CheckType:要求驗證的類型(1:只驗證合法的域名,2:只驗證是否有cookies,3:同時驗證域名與cookies)
CookiesName:要驗證的cookies名稱,可為空。
UrlPattern:請求的URL格式。
UrlReplace:當下載無效時轉向的URL格式。
AllowHost:允許的來源域名。

Global.aspx中的配置:

復制代碼 代碼如下:


void Application_BeginRequest(object sender, EventArgs e)
{
bool IsAllowDomain = false;
bool IsLogin = false;
string CookiesName = "UserName", AllowHost, ReferrerHost="";
int CheckType = 1;
bool AllowDown = false;
string[] AllowHostArr;
string UrlPattern = "", UrlReplace = "";
string[] pattern, replace;
string ConfigFile = ConfigurationManager.AppSettings["DownLoadConfig"];
if (ConfigFile != "")
{
try
{
System.Xml.XmlDataDocument XDConfig = new System.Xml.XmlDataDocument();
XDConfig.Load(AppDomain.CurrentDomain.BaseDirectory + @"http://www.49028c.com/" + ConfigFile);
if (XDConfig.SelectSingleNode("DownLoad/CheckType").InnerText != "")
{
CheckType = int.Parse(XDConfig.SelectSingleNode("DownLoad/CheckType").InnerText);
}
if (XDConfig.SelectSingleNode("DownLoad/CookiesName").InnerText != "")
{
CookiesName = XDConfig.SelectSingleNode("DownLoad/CookiesName").InnerText;
}
AllowHost = XDConfig.SelectSingleNode("DownLoad/AllowHost ").InnerText;
AllowHostArr = AllowHost.Split('|');
UrlPattern = XDConfig.SelectSingleNode("DownLoad/UrlPattern").InnerText;
UrlReplace = XDConfig.SelectSingleNode("DownLoad/UrlReplace").InnerText;
pattern = UrlPattern.Split('@');
replace = UrlReplace.Split('@');
if (CookiesName == "") CookiesName = "UserName";
IsLogin = false.Equals(Request.Cookies[CookiesName] == null || Request.Cookies[CookiesName].Value == "");
if (Request.UrlReferrer != null) ReferrerHost = Request.UrlReferrer.Host.ToString();
if (AllowHostArr.Length < 1)
{
IsAllowDomain = true;
}
else
{
for (int HostI = 0; HostI < AllowHostArr.Length - 1; HostI++)
{
if (AllowHostArr[HostI].ToLower() == ReferrerHost.ToLower())
{
IsAllowDomain = true;
break;
}
}
}
switch (CheckType)
{
case 1:
AllowDown = true.Equals(IsAllowDomain);
break;
case 2:
AllowDown = IsLogin;
break;
case 3:
AllowDown = true.Equals(IsAllowDomain && IsLogin);
break;
}
if (AllowDown == false)
{
string oldUrl = HttpContext.Current.Request.RawUrl;
string newUrl = oldUrl;
for (int iii = 0; iii < pattern.Length; iii++)
{
if (Regex.IsMatch(oldUrl, pattern[iii], RegexOptions.IgnoreCase | RegexOptions.Compiled))
{
newUrl = Regex.Replace(oldUrl, pattern[iii], replace[iii], RegexOptions.Compiled | RegexOptions.IgnoreCase);
oldUrl = newUrl;
}
}
this.Context.RewritePath(newUrl);
}
}
catch
{
}
}
}


Web.Config中的配置:

復制代碼 代碼如下:


<appSettings>
<add key="DownLoadConfig" value="DownLoad.config"/>
</appSettings>


IIS中的配置:

可執行文件填入:c:/windows/microsoft.net/framework/v2.0.50727/aspnet_isapi.dll(視實際情況變動,與.aspx的一樣就成)

記得把那個:檢查文件是否存在 前的勾去掉。

你可為任何你想要防盜鏈的文件加上這個,其實在IIS6的2003Server版本中有一個“通配符應用程序映射”:

添加了這個就等于把所有的請求都交給了.net,這樣實現的防盜鏈,即使是迅雷或是別的什么下載工具照樣是下不了的,下的文件名雖然是那個但是內容就完全不是了,嘿嘿。。。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
96sao精品视频在线观看| 日本高清视频精品| 中文字幕日韩欧美| 亚洲高清久久久久久| 亚洲成人av中文字幕| 精品免费在线观看| 蜜臀久久99精品久久久久久宅男| 国产精品免费电影| 精品视频久久久久久| 久久久亚洲精品视频| 欧美日韩国产中文字幕| 亚洲视频电影图片偷拍一区| 亚洲香蕉在线观看| 中文字幕欧美日韩在线| 亚洲伊人一本大道中文字幕| 国产精品一区专区欧美日韩| 欧美成人在线影院| 欧美在线视频在线播放完整版免费观看| 亚洲国产精彩中文乱码av在线播放| 欧洲成人免费aa| 九九热精品在线| 91在线观看免费高清完整版在线观看| 高跟丝袜一区二区三区| 日韩精品在线免费| 久久精品国产久精国产一老狼| 欧美成人高清视频| 色多多国产成人永久免费网站| 亚洲国产成人爱av在线播放| 精品国产区一区二区三区在线观看| 91在线观看免费网站| 国产精品成av人在线视午夜片| 国产欧美va欧美va香蕉在线| 国产精品流白浆视频| 96pao国产成视频永久免费| 国产精品视频免费在线| 久久久久久这里只有精品| 欧美极品少妇xxxxⅹ免费视频| 在线观看日韩视频| 日韩在线中文字| 欧美日韩黄色大片| 亚洲国产精品专区久久| 亚洲香蕉成人av网站在线观看| 日本一区二三区好的精华液| 亚洲视频日韩精品| 国产精品中文字幕在线观看| 久久久精品影院| 久久九九热免费视频| …久久精品99久久香蕉国产| 最近中文字幕mv在线一区二区三区四区| 亚洲精品小视频在线观看| 亚洲天堂网在线观看| 美日韩精品免费观看视频| 欧美精品在线免费播放| 亚洲久久久久久久久久久| 亚洲视频视频在线| 性视频1819p久久| 成人免费激情视频| 欧美日韩免费区域视频在线观看| 久久av在线看| 91最新国产视频| 91免费人成网站在线观看18| 成人黄色在线免费| 国产日韩换脸av一区在线观看| 亚洲97在线观看| 欧美专区在线播放| 亚洲激情国产精品| 日韩在线播放av| 日韩精品一二三四区| 亚洲精品720p| 欧美色图在线视频| 国内伊人久久久久久网站视频| 亚洲性视频网址| 国产综合在线观看视频| 2018日韩中文字幕| 欧美成人午夜剧场免费观看| 精品欧美aⅴ在线网站| 亚洲男人天堂网站| 国产福利成人在线| 日韩一区在线视频| 午夜精品久久久久久久99热浪潮| 精品中文字幕在线| 成人黄色av免费在线观看| 亚洲国产精品久久久久久| 国模精品视频一区二区三区| 国产99视频在线观看| 98精品国产高清在线xxxx天堂| 国产精品第8页| 欧美又大粗又爽又黄大片视频| 日韩av中文字幕在线免费观看| 91精品视频免费看| 日本成熟性欧美| 色综合久久88色综合天天看泰| 韩剧1988在线观看免费完整版| 国产精品久久久久77777| 91国产在线精品| 欧美视频专区一二在线观看| 日韩欧美成人免费视频| 亚洲人成网7777777国产| 精品久久久久久久久久久久| 成人在线视频福利| 亚洲人精品午夜在线观看| 日本高清视频一区| 亚洲综合自拍一区| 国内精品久久久久影院 日本资源| 亚洲国产欧美久久| 亚洲成人亚洲激情| 55夜色66夜色国产精品视频| 色偷偷噜噜噜亚洲男人的天堂| 国产一区二区av| 欧美午夜激情小视频| 亚洲伊人久久大香线蕉av| 国产精品成人aaaaa网站| 国产精品美乳在线观看| 国产精品va在线播放| 中文字幕亚洲无线码a| 亚洲一区二区三区久久| 国产精品视频资源| 欧美激情视频网址| 欧美电影免费播放| 久久99热这里只有精品国产| 九九热r在线视频精品| 亚洲国产欧美日韩精品| 亚洲一区二区免费| 日韩成人黄色av| 欧美激情第6页| 91九色在线视频| 色无极影院亚洲| 欧美在线视频网站| 久久久av免费| 日韩中文理论片| 欧美日韩国产中文字幕| 欧美最猛性xxxxx(亚洲精品)| 神马久久桃色视频| 成人免费激情视频| 国产91|九色| 亚洲国产精品va在线看黑人动漫| 日韩动漫免费观看电视剧高清| 欧美精品第一页在线播放| 久久精品最新地址| 国产欧美日韩91| 国产精品av电影| 亚洲欧洲在线播放| 日韩电影在线观看永久视频免费网站| 欧美精品电影在线| 亚洲日本成人女熟在线观看| 日韩精品在线观看网站| 国产精品第一视频| 国产日韩一区在线| 中文字幕精品一区久久久久| 国产亚洲美女精品久久久| 清纯唯美亚洲激情| 国产一区视频在线| 91精品国产高清久久久久久| 欧美激情精品久久久久久| 日韩精品日韩在线观看| 亚洲在线免费观看| xvideos国产精品| 国产精品免费福利| 久久精品久久久久久国产 免费| 亚洲sss综合天堂久久| 色偷偷噜噜噜亚洲男人的天堂| 中文字幕av一区二区三区谷原希美| 欧美在线精品免播放器视频| www.欧美精品一二三区|