图片防盗链
原理:
http标准协议中有专门的字段记录referer
一来可以追溯上一个入站地址是什么
因此所有防盗链方法都是基于这个Referer字段
在很多地方,如淘宝、拍拍、有啊等C2C网站,发布商品需要对宝贝进行描述,就需要图片存储,而为了使自己辛辛苦苦拍摄的图片不被别人调用,就需要防盗链的功能。
下面是.Net下的图片防盗链的一个小例子
1 //限制非本网站的网页的的图片请求 2 public void ProcessRequest (HttpContext context) { 3 context.Response.ContentType = "text/plain"; 4 Uri url=context.Request.Url; 5 Uri urlw=context.Request.UrlReferrer; 6 //判断是否是本网站的请求,第一个参数是本站的URL,第二个参数是请求本站的URL,判断是通过端口号来判断, 7 if (Uri.Compare(url,urlw,UriComponents.HostAndPort,UriFormat.SafeUnescaped,StringComparison.CurrentCultureIgnoreCase)!=0) 8 { 9 context.Response.Clear(); 10 context.Response.End(); 11 } 12 HttpPostedFile file=context.Request.Files["img"]; 13 string ext = System.IO.Path.GetExtension(file.FileName); 14 if (ext==".png"|| ext==".jpg") 15 { 16 string filepath=Guid.NewGuid()+file.FileName; 17 string path = context.Request.MapPath("UpLoad/"+filepath); 18 file.SaveAs(path); 19 }