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

2016-01-29 12:27 13 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 
 */

(本文来源于图老师网站,更多请访问http://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;

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

        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;
            }

 

            if(error)
            {
    &nb

来源:http://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标签,然后再取出里面的图片地址...
标签: Web开发
下面是完整的代码。 代码如下: package cn.searchphoto.util; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.net.URLConnection; import java.util.zip.GZIPInputStream; /** * 下载远程网站的图片,通过设置Referer反反盗链...
标签: 浏览器
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”,影响美观。以前只好把这个图片保存下来,再重新上传到服务器上,这样实在麻烦。能不能让服务器自动去下载...

经验教程

929

收藏

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