现在的位置: 首页 > 综合 > 正文

奥斯科技-防盗链开发(使用)

2019年03月08日 ⁄ 综合 ⁄ 共 1592字 ⁄ 字号 评论关闭

防盗链简介:

     
此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。常常是一些名不见经传的小网站来盗取一些有实力的大网站的地址(比如一些音乐、图片、软件的下载地址)然后放置在自己的网站中,通过这种方法盗取大网站的空间和流量。

 

package com.lovesmile.oa.web.mytag;

import java.io.IOException;

import
javax.servlet.http.HttpServletRequest;
奥斯科技-防盗链开发(使用)

import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.SimpleTagSupport;

public class RefererTag extends SimpleTagSupport {
 private String topage;
 
 private String site;
 
 public void setTopage(String topage) {
  this.topage = topage;
 }

 public void setSite(String site)
{
  this.site = site;
 }

 @Override
 public void doTag() throws JspException,
IOException {
  PageContext
pageContext=(PageContext) this.getJspContext();
  HttpServletRequest
request=(HttpServletRequest) pageContext.getRequest();
  HttpServletResponse
response=(HttpServletResponse) pageContext.getResponse();
  String
refere=request.getHeader("referer");
  if(refere==null ||
!refere.startsWith(site)){
   String
cp=request.getContextPath();
   if(topage.startsWith(cp)){

    response.sendRedirect(topage);

   }else
if(topage.startsWith("/")){
    response.sendRedirect(cp+topage);

   }else{
    response.sendRedirect(cp+"/"+topage);

   }
   
  }
  
  super.doTag();
 }
 
}

配置文件:
  <tag>
  <name>referer</name>

  <tag-class>com.lovesmile.oa.web.mytag.RefererTag</tag-class>

  <body-content>scriptless</body-content>

  <attribute>

   <name>site</name>

   <required>true</required>

   <rtexprvalue>true</rtexprvalue>

  </attribute>

  <attribute>

   <name>topage</name>

   <required>true</required>

   <rtexprvalue>true</rtexprvalue>

  </attribute>

 </tag>
 

抱歉!评论已关闭.