zoukankan      html  css  js  c++  java
  • asp.net防盗链技术

    防盗链技术可以有效的解决网站访问量不大,但压力比较大的问题。现在以.jpg文件为例,在asp.net里如何实现防盗链技术。

    新建一个asp.net网站,添加两个图片文件:right.jpg,error.jpg,right.jpg为本站显示的正确的图片,error.jpg为其他网站访问时的错误图片。

       Default.aspx放置如下代码:

     <asp:Image ID="Image1" runat="server" Height="179px" ImageUrl="~/right.jpg"  Width="197px" />

    新建Handler.cs类,代码如下:

    代码

    using System;
    using System.Web;

    public class Handler : IHttpHandler {
        
        
    public void ProcessRequest (HttpContext context) {

            context.Response.Expires 
    = 0;
            context.Response.Clear();
            context.Response.ContentType 
    = "image/jpg";

            
    if (context.Request.UrlReferrer.Host == "localhost")
            {

                context.Response.WriteFile(context.Request.PhysicalPath);
                context.Response.End();
            }
            
    else
            {
                context.Response.WriteFile(context.Request.PhysicalApplicationPath
    +"error.jpg");
                context.Response.End();
            } 
        }
     
        
    public bool IsReusable {
            
    get {
                
    return true;
            }
        }

    }

    在web.config的<httpHandlers>节点中添加 <add verb="*" path="*.jpg" type="Handler"/>

    调试该程序,图片将显示正常的图片。

    将代码 if (context.Request.UrlReferrer.Host == "localhost")中的"localhost"给为其他字符,调试程序,将显现error.jpg

    这样就达到了我们所说的图片防盗链技术了。

    现在来说下如何在IIS中也显现这种效果。

    选择网站->右键点击属性->点击虚拟目录->配置->映射->添加

    按如图所示添加,可执行文件选择:

    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll

    这样你的网站也实现了防盗链技术。


     

  • 相关阅读:
    vue.js生成纵向拓扑图
    vue.js生成横向拓扑图
    Vue.js中使用wangEditor富文本编辑器
    文件上传与下载,PDF与Excel的操作
    Element布局实现日历布局
    golang时间转换
    iView学习笔记(四):Form表单操作
    iView学习笔记(三):表格搜索,过滤及隐藏列操作
    iView学习笔记(二):Table行编辑操作
    iView学习笔记(一):Table基本操作(包含前后端示例代码)
  • 原文地址:https://www.cnblogs.com/valin/p/1813072.html
Copyright © 2011-2022 走看看