• 文件防盗链


    图片防盗链

    原理:

    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 }
  • 相关阅读:
    【转】Linq Group by
    SmtpClient发邮件时为什么用MailMessage.From而不用MailMessage.Sender
    HttpClient异步调用WEB服务
    WPF MVVM框架下,VM界面写控件
    WPF 后台读取样式文件
    vs2017 乱码
    ClickOnce 和管理员权限
    EF code first Mysql 更换主键类型
    Linq Group By
    Mvc api HelpPage 与注释
  • 原文地址:https://www.cnblogs.com/guohuiru/p/3108339.html
Copyright © 2020-2023  润新知