日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

解讀Asp.net教程:設(shè)計(jì)IP地址屏蔽功能(4)_.Net教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:.Net教程之HTTP狀態(tài)碼200,301,302
跳轉(zhuǎn)非常常用,在哪里都一樣,這里的一些說明和用法也如此,不止適用于asp.net,其他語言也會(huì)用得到。跳轉(zhuǎn)的目的本來很簡(jiǎn)單,就是當(dāng)用戶或系統(tǒng)需要時(shí)從一個(gè)頁面轉(zhuǎn)向另一個(gè)頁面,但自從有了

以下為引用的內(nèi)容:

/// <summary>

/// 添加一個(gè)新的IP屏蔽區(qū)段

/// </summary>

/// <param name="IP區(qū)段起始值">起始IP,如61.51.200.0</param>

/// <param name="IP區(qū)段終止值">終止IP,如61.51.255.255</param>

/// <param name="過期時(shí)間">屏蔽截止時(shí)間</param>

/// <returns>ID號(hào)</returns>

public static Guid 添加(string IP區(qū)段起始值, string IP區(qū)段終止值, DateTime 過期時(shí)間)

{

var id = Guid.NewGuid();

var sip = IPAddress.Parse(IP區(qū)段起始值).轉(zhuǎn)換為整數(shù)();

var eip = IPAddress.Parse(IP區(qū)段終止值).轉(zhuǎn)換為整數(shù)();

using (var c = new SiteMainEntities())

{

//檢測(cè)是否已存在相同的IP屏蔽記錄

var a = c.IP地址屏蔽.Where(f => f.區(qū)段起始值 == sip && f.區(qū)段終止值 == eip);

//如果存在則更新其過期時(shí)間

if (a.Count()>0)

{

var l = a.First();

if (l.過期時(shí)間 < 過期時(shí)間) l.過期時(shí)間 = 過期時(shí)間;

}

//不存在則正常添加一個(gè)新的屏蔽記錄

else c.AddToIP地址屏蔽(new IP地址屏蔽 { ID = id, 過期時(shí)間 = 過期時(shí)間, 區(qū)段起始值 = sip, 區(qū)段終止值 = eip });

c.SaveChanges();

}

return id;

}

檢測(cè)指定IP地址是否被屏蔽的代碼:

/// <summary>

/// 檢測(cè)指定IP地址是否已受到屏蔽

/// </summary>

/// <param name="IP地址">要檢測(cè)的IP地址</param>

/// <returns>是否屬于已屏蔽的IP</returns>

public static bool 檢測(cè)是否被屏蔽(string IP地址)

{

var ip = IPAddress.Parse(IP地址).轉(zhuǎn)換為整數(shù)();

using (var c = new SiteMainEntities())

{

return c.IP地址屏蔽.Count(f => f.過期時(shí)間 > DateTime.Now && ip >= f.區(qū)段起始值 && ip <= f.區(qū)段終止值) > 0;

}

}

這種方案比起以往的字符串驗(yàn)證方案來說優(yōu)雅了許多,并可以提高數(shù)據(jù)庫查詢的效率,建議各位在日后的網(wǎng)站開發(fā)中都采用此方案。

分享:解析.NET程序員 Ruby核心語法入門
本文的目的是為了找出為什么.NET程序員都想學(xué)習(xí)并使用Ruby,并探索Ruby語言的核心語法。 微軟的IronRuby項(xiàng)目為Windows平臺(tái)帶來了強(qiáng)大的動(dòng)態(tài)語言,Ruby編程語言是一個(gè)現(xiàn)代的,面向?qū)ο蟮?/p>

共4頁上一頁1234下一頁
來源:模板無憂//所屬分類:.Net教程/更新時(shí)間:2009-08-30
相關(guān).Net教程