那么我来介绍下图片放盗链的一个方法
首先,添加个httpHandlers请求,WEBCONFIG部分配置节如下:
<httpHandlers>
<add verb="*" path="*.jpg" type="myhandler,App_Code"/>
</httpHandlers> 注意:对应于system.web之下,别添错了哦!
然后添加个class,取名为myhandler继承于IHttpHandler
class原型如下:
[url=http://www.1sucai.cn/codes/23902.html]http://www.1sucai.cn/codes/23902.html[/url]
这个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" />这里要注意的就是&(&)