图片地址防盗链,通过IHttpHandler实现

2016-01-29 12:27 8 1 收藏

图片地址防盗链,通过IHttpHandler实现,图片地址防盗链,通过IHttpHandler实现

【 tulaoshi.com - ASP.NET 】

 

/*
 * 
 * 防盗链IHttpHandler
 * 
 * 
 * 增加了对文件关键字的选择(即仅对文件名存在某些关键字或不存在某些关键字进行过滤)
 * 设置web.config中<appSettings节以下值
 * string eWebapp_NoLink    如果文件名符合该正确表态式将进行过滤(不设置对所有进行过滤)
 * string eWebapp_AllowLink            如果文件名符合该正确表态式将不进行过滤(优先权高于AllowLink,不设置则服从AllowLink)
 * bool eWebapp_ AllowOnlyFile        如果为False,(默认true)则不允许用户直接对该文件进行访问建议为true
 * 
 * 
 * :)以下设置均可省略,设置只是为了增加灵活性与体验
 * eWebapp_NoLink_Message    错误信息提示:默认为Link From:域名
 * eWebapp_Error_Width        错误信息提示图片宽
 * eWebapp_Error_Height        错误信息提示图片高
 * 
 * 
 * 
 *
 * http://ewebapp.net 
 */

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)


using System;
using System.Web;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Configuration;
using System.Text.RegularExpressions;

namespace eWebapp
{
    /// <summary
    /// 防盗链IHttpHandler
    /// 参考http://www.softat.org/archiver/tid-52114.html
    ///
    /// </summary
    public class NoLink : IHttpHandler
    {
        private string eWebapp_NoLink = string.Empty;
        private string eWebapp_AllowLink = string.Empty;
        private bool eWebapp_AllowOnlyFile = true;

        private string eWebapp_NoLink_Message = string.Empty;
        private bool error = false;

        public NoLink()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }

        public void ProcessRequest(HttpContext context)
        {
            eWebapp_NoLink_Message = ConfigurationSettings.AppSettings["eWebapp_NoLink_Message"];
            
            
            string myDomain = string.Empty;

            error = errorLink(context,out myDomain);     [next]

            if(Empty(eWebapp_NoLink_Message)) 
            {
                eWebapp_NoLink_Message = "Link from :" + myDomain;
            }

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

 

            if(error)
            {
    &nb

来源:https://www.tulaoshi.com/n/20160129/1486168.html

延伸阅读
标签: Web开发
一,取得原页中的图片的地址。 % function PicStr(str)  Set objRegExp = New Regexp '设置配置对象  objRegExp.IgnoreCase = True '忽略大小写  objRegExp.Global = True '设置为全文搜索  objRegExp.Pattern = "IMG.+?" '为了确保能准确地取出图片地址所以分为两层配置:首先找到里面的IMG标签,然后再取出里面的图片地址...
标签: 浏览器
IE右键中添加“复制图片地址”和“复制链接地址” 1、先下载浏览器执行复制操作的脚本文件和注册表写入文件,已打包至 iefans.rar。 2、下载完成解压后,将 CopyImageUrl.html 和 CopyUrl.html 复制至 C:Program FilesInternet Explorer 目录中。 如果您的系统默认不是安装在C盘,或者您不想将这两个文件放置在 C:Program Files...
标签: ASP
  现在基于WEB页的HTML的编辑器在新闻系统,文章系统中用得越来越广,一个网页一粘就可以保持原来的样式,同时图片也可以在这个页中保持。但是在使用过程中,如果所粘贴页中的图片被删除,就会在自己的页面上留下一个大大的“X”,影响美观。以前只好把这个图片保存下来,再重新上传到服务器上,这样实在麻烦。能不能让服务器自动去下载...
标签: ASP
现在基于WEB页的HTML的编辑器在新闻系统,文章系统中用得越来越广,一个网页一粘就可以保持原来的样式,同时图片也可以在这个页中保持。但是在使用过程中,如果所粘贴页中的图片被删除,就会在自己的页面上留下一个大大的“X”,影响美观。以前只好把这个图片保存下来,再重新上传到服务器上,这样实在麻烦。能不能让服务器自动去下载图片保存在...
标签: 浏览器
在IE里快速复制链接地址和复制图片地址   当我们在IE内右键单击链接,在弹出的IE右键菜单中选中复制快捷方式的选项,它就是复制链接地址的意思,然后你就可以粘贴地址了。 在图片上同样单击鼠标右键,让后让后选择复制,它就是复制图片地址的意思。 这个两个功能在IE中使用起来要比其他浏览器更方便,除了可以复制地...

经验教程

86

收藏

60
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部