|
using System;
using System.Net;
using System.Net.Sockets;
namespace GetNum
{
public class checkurl
{
public checkurl()
{
}
public static bool GetUrlStatus()
{
try
{
System.Web.HttpContext page=System.Web.HttpContext.Current;
string link = page.Request.UrlReferrer.ToString(); //获取用户前一个访问的url
link = link.Substring(7); //去掉url前的“http://”
int n = link.IndexOf("/");
link = link.Substring(0, n); //将用户前一个访问的url转化为"xxx.xxx.xxx"形式
IPHostEntry hostEntry = Dns.Resolve(link);
IPEndPoint ipEndPoint = new IPEndPoint( hostEntry.AddressList[0],0);
string ipAddress = ipEndPoint.Address.ToString(); //将前一个访问的url转换为ip地址
if (ipAddress == page.Request.ServerVariables.Get("Local_Addr").ToString()) //获取服务器ip,与用户前个访问的ip对比,相同则不是盗链
{
return true;
}
else
{
return false; //盗链
}
}
catch
{
return false; //盗链
}
}
}
}
|