JavaWeb利用Request製做防盜鏈

什麼是盜鏈?html

盜鏈是指服務提供商本身不提供服務的內容,經過技術手段繞過其它有利益的最終用戶界面(如廣告),直接在本身的網站上向最終用戶提供其它服務提供商的服務內容,騙取最終用戶的瀏覽和點擊率。受益者不提供資源或提供不多的資源,而真正的服務提供商卻得不到任何的收益。

www.163.com爲正規網站,www.361.com爲盜鏈網站
image網站

如何防止盜鏈?
請求頭中有一個Referer元素,若是正常經過www.163.com訪問這個新聞時,則Referer爲163,能夠正常閱讀新聞。若是後臺發現Referer不爲163,或者Referer爲空,說明爲盜鏈閱讀,此時網頁會直接跳到www.163.com的主頁上。ui

HTML代碼和跳轉到對應新聞內容的Servlet代碼:spa

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("我和華爲奮鬥的日子。。。");
    }
相關文章
相關標籤/搜索