1

什么是盗链?

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

www.163.com为正规网站,www.361.com为盗链网站
image

如何防止盗链?
请求头中有一个Referer元素,如果正常通过www.163.com访问这个新闻时,则Referer为163,可以正常阅读新闻。如果后台发现Referer不为163,或者Referer为空,说明为盗链阅读,此时网页会直接跳到www.163.com的主页上。

HTML代码和跳转到对应新闻内容的Servlet代码:

163主页:
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
      <h1>网易新闻</h1><hr>
      广告广告广告广告广告广告广告广告
      <a href="/Day04/servlet/RenzhengfeiServlet">任正非独家采访</a>
      广告广告广告广告广告广告广告广告
  </body>
</html>

RenzhengfeiServlet:
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException {
             response.setContentType("text/html;charset=utf-8");
             String ref = request.getHeader("Referer");
//如果referer为空或不为163,则重定向回163的主页
             if(ref==null || "".equals(ref) || !ref.startsWith("http://www.163.com")){
             response.sendRedirect(request.getContextPath()+"/index.html");
                 return;
        }
             response.getWriter().write("我和华为奋斗的日子。。。");
    }

悠悠我心
7 声望1 粉丝