为什么会出现防盗链呢?,例如图片防盗链,这是因为各大网站如:腾讯、百度、网易、等基本上都采用了图片防盗链设置。为什么要这样做呢?因为你从某网站把图片直接链接贴到论坛上,当有人从这个论坛浏览该图片时,这时实际占用的是源网站的带宽资源,所以给图片设置防盗链其实是一种无可奈何的自我保护。
防盗链的方法很多,一种方式是:我们可以通过请求来的表头中Referrer信息,判断其是否与请求的网址的IP与端口是否相同,以此可进行判断
//判断发起请求的网站地址
Uri referrerUrl = context.Request.UrlReferrer;
//判断所请求的资源的路径地址
Uri requestUrl = context.Request.Url;
//如果发起请求的网址,与资源路径地址是同一个网站下的,则是本网站的请求
if (Uri.Compare(referrerUrl, requestUrl, UriComponents.HostAndPort,UriFormat.SafeUnescaped,
StringComparison.CurrentCulture) == 0)
{
//是本网站
}
else
{
//是通过盗链的
}