您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > JSP >

jsp自定义标签-3

来源:未知 责任编辑:责任编辑 发表时间:2013-12-22 14:55 点击:

 

1、标签案例-开发防盗链标签

盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。

解决途径之一——限制引用页

这种防盗链原理是,服务器获取用户提交信息的网站地址,然后和真正的服务端的地址相比较,如果一致则表明是站内提交,或者为自己信任的站点提交,否则视为盗链。

目标:要开发的标签

<class3g:referer site="http://drinkeye:8080" page="/index.jsp"/>

site:受信任站点,只允许次站点的请求

page:正确的链接页面,发现盗链后将其自动转入此页面

步骤

1)        标签处理类

 

<span style="font-size:16px;">public void doTag() throws JspException, IOException { 

 

   PageContext pageContext = (PageContext) this.getJspContext(); 

 

   HttpServletRequest request =  

 

(HttpServletRequest) pageContext.getRequest(); 

 

   HttpServletResponse response =  

 

(HttpServletResponse) pageContext.getResponse(); 

 

  

 

   String referer = request.getHeader("referer"); 

 

   System.out.println(request.getContextPath()); 

 

    

 

   if(referer==null | !referer.startsWith(site)){ 

 

//判断是否盗链 

 

</span> 

 

    

 

<span style="font-size:16px;"> //根据page属性值,讲链接重定向指访问被盗链内容的正确页面 

 

      String contextPath = request.getContextPath(); 

 

      if(page.startsWith(contextPath)){ 

 

        response.sendRedirect(page); 

 

      }else if(page.startsWith("/")){ 

 

        response.sendRedirect(contextPath + page);  

 

      }else{ 

 

        response.sendRedirect(contextPath + "/" + page); 

 

      } 

 

      throw new SkipPageException(); 

 

   } 

 

</span> 

 

 

 

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • JSP与Servlet
  • 自己动手写MiniBBS系列(基本篇)之用户登录
  • JSP取当前日期
  • JDBC 入门(一)
  • 打开一个jsp页面默认查询所有数据,调用action
  • 使用JSP标签库验证用户的输入(2)完
  • 自定义JSP标签(tag)浅议
  • WIN98/2000下的jsp服务器
  • JSP内建对象(二)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1