全国统一热线:
028-86758058
18980748058
购买流程
付款方式
常见问题
在线提问
续租服务
购物车(
0
件)
用户名:
密 码:
记住
首 页
HOME
域名注册
DOMAIN
虚拟主机
WEB HOST
成品网站超市
AUTO Site
VPS主机
VPS SERVER
云 主 机
CLOUD HOST
租用托管
SERVER
海外主机
HK HOST
代理专区
AGENT
客服中心
SERVICE
站长教程
SERVICE
欢迎光临西部数据云计算中心,我们将竭诚为您提供最优质的服务!
中文域名
域名转入
域名转出
DNS管理
动态域名
获取域名证书
域名停放
域名过户
集群主机
双线主机
基本主机
港台主机
论坛主机
Linux主机
Vip合租主机
超G型主机
ASP.net主机
Java主机
智能建站主机
网店主机
美国主机
数据库
成品网站超市
智能建站主机
集群VPS主机
国内VPS主机
香港VPS主机
美国VPS主机
云主机介绍
云主机购买
服务器租用
主机托管
常见问题
香港主机
港台主机
美国主机
国内免备案
步骤流程
代理级别
代理合同
代理模式
代理优势
在线申请
产品列表
常见问题
代理商分布图
常见问题
有问必答
跟踪提问
购买流程
产品价格
付款方式
常用软件
网站备案
续租服务
汇款确认
相关文档
联系我们
域名资讯
主机资讯
行业动态
网页制作
php教程
mysql教程
域名资讯
云计算资讯
网络编程
您当前的位置:
首页
>
网络编程
>
Net教程
ASP.NET 图片防盗链的实现原理分析
时间:2015-01-29 来源:互联网 作者:佚名
那么我来介绍下图片放盗链的一个方法
首先,添加个httpHandlers请求,WEBCONFIG部分配置节如下:
<httpHandlers>
<add verb="*" path="*.jpg" type="myhandler,App_Code"/>
</httpHandlers> 注意:对应于system.web之下,别添错了哦!
然后添加个class,取名为myhandler继承于IHttpHandler
class原型如下:
复制代码
代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public class myhandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string FileName = context.Server.MapPath(context.Request.FilePath);
if (context.Request.UrlReferrer.Host == null)
{
context.Response.ContentType = "image/JPEG";
context.Response.WriteFile("~/images/no.png");//被替换图片
}
else
{
if (context.Request.UrlReferrer.Host.IndexOf("localhost") > -1)//这里是你的域名
{
context.Response.ContentType = "image/JPEG";
context.Response.WriteFile(FileName);
}
else
{
context.Response.ContentType = "image/JPEG";
context.Response.WriteFile("~/images/no.png");
}
}
}
public bool IsReusable
{
get { return true; }
}
public myhandler()
{
}
}
myhandler继承自IHttpHandler实现了对url来源来判断jpg图片是否被盗链,本class中以localhost为例,修改localhost和images/no.png参数即可
次方法也可应用于URL伪静态。
下一次聊下图片与ASP.NET程序的
服务器
分离,欢迎大家光临本站。
下面是补充
所谓URL静态化(声明下:这里说的是伪静态,真正网页静态化就不说了可以用最简单的请求返回response实现,但好像久而久之数据量会很庞大,所以就不说了)就是把动态的网页看起来像静态的一样。如:aspnet.aspx?id=5 静态化:aspnet-5.html或/aspnet/5
SEO(
搜索引擎
优化),更青睐于静态化的网页,所以网页静态化对于专业的SEOer来说还是必须掌握的,下面我告诉大家一个方法来实现在ASP.NET下面的网页静态化。
下面给一个DEMO,下载地址:http://www.jb51.net/codes/23902.html
这个DEMO实现了网页的URL的伪静态,其原理通过匹配url的正则,来进行网页重定向,这个DEMO里面有这么个config,<add virtualUrl="~/microsoft*.*" destinationUrl="~/default.aspx" />
也就是说请求microsoft.html,microsoft.shtml,microsoft.do都会映射到default.aspx
这个正则把URL重定向一个页面,没有带参数,我先来介绍下带参数如何实现,下面我加了这个规则
<add virtualUrl="~/default-([0-9]*)" destinationUrl="~/default.aspx?id=$1" />
这个正则匹配了,这样的URL(假设http://www.xx.com/是你的域名), www.xx.com/microsoft-123 映射到www.xx.com/default.aspx?id=123
那么就实现了参数的传递
多个参数的传递可以用如下正则实现,各位高手想用什么样的静态化规则就自己写正则怎么实现吧,下面我给出一种目录化的URL伪静态规则
<add virtualUrl="~/default/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)" destinationUrl="~/default.aspx?par1=$1&par2=$2" />这里要注意的就是&(&)
来顶一下
返回首页
推荐资讯
asp.net 读取并显示excel数据的实现
我们的ASP页面将在远程服务器上,来读取我们的桌面Excel文件
asp.net 从POST的数据流中提取参数
模拟的POST请求也一样。但有时可能模拟POST数据格式不是很标
相关文章
asp.net 上传图片并同时生成缩略图的代码
asp.net AJAX注册类
asp.net 使用事务
asp.net 处理F5刷新页面重复提交页面的一个思路
asp.net 扩展GridView 增加单选按钮列的代码
ASP.NET 缓存分析和实践浅析提高运行效率
asp.net ListView交替背景颜色实现代码
asp.net 读取并显示excel数据的实现代码
一天精通asp.net的学习经验小结
asp.net 表单验证新思路
栏目更新
栏目热门
返回首页
关于我们
联系我们
付款方式
价格总览
资讯中心
友情链接
媒体关注
有问必答
投诉建议
网站备案
《中华人民共和国增值电信业务经营许可证》编号:川B2-20080058号
官方网址:
xibushuju.com
西部数据
Copyright © 2002~2015
天府快车
版权所有
电话总机:
028-86758058
(50线) 传真:
028-86758058