最近做个图片防盗链的东西,遇到了些问题,特来请教
我配置好了IIS,设置对.jpg文件进行过滤
然后写了个dll里面继承至System.Web.IHttpHandler类,然后对ProcessRequest(HttpContext context)进行重写
具体是
public void ProcessRequest(HttpContext context)
{

if(context.Request.Url.Host.Equals //本地引用(context.Request.UrlReferrer.Host))
{
                                    //处理....
}
else //如果非本地引用 {
context.Response.Expires = 0; //设置客户端缓冲中文件过期时间为0,即立即过期。
context.Response.Clear();//清空服务器端为此会话开辟的输出缓存
context.Response.Redirect("http://localhost/error.htm");
context.Response.End();//将服务器端为此会话开辟的输出缓存中的信息传送到客户端
}
}
然后webconfig加了个节点
   <httpHandlers>               <add verb="*" path="*.jpg" type="MyHttpHandler.MyHandler, MyHttpHandler" />  </httpHandlers>
但是我测试时发现如果非法访问图片虽然不会显示,但是不能按我设计的跳转到http://localhost/error.htm,只是个叉,不知道为什么,请各位高手指教,谢谢!