Home > Java > javaTutorial > body text

Detailed explanation of anti-hotlinking and solutions in Java

黄舟
Release: 2017-07-22 15:44:31
Original
1834 people have browsed it

This article mainly introduces the detailed explanation and solutions of Java anti-hotlinking. Here it introduces the concept, causes and referer in Http of anti-hotlinking. Finally, it introduces the solution. Friends who need it can refer to it

Detailed explanation and solution of java anti-hotlinking

1. The concept of anti-hotlinking

The content is not on your own server, through technical means Place the content of other websites (such as some music, pictures, software download addresses) in your own website, and steal the space and traffic of other websites through this method.

2. The generation of anti-hotlinking

Generally, when making an http request, a complete page is not transmitted to the client all at once. If the request is for a page with many pictures and other information, then the first HTTP request is sent back the text of this page, and then the client's browser interprets and executes this text, and finds that there are picture, then the client's browser will send another Http request, so that a complete page may need to send multiple Http requests before it can be fully displayed. Based on such a mechanism, a problem will arise, that is, the problem of hotlinking: if a website does not have the information mentioned on the page, such as picture information, then it can completely connect the picture to other websites. In this way, while increasing your own visits, it also increases the load on other people's servers.

3. Referer in Http

HTTP Referer is part of the header. When the browser sends a request to the web server, it usually brings the Referer. , tell the server which page I am linked from, so that the server can get some information for processing.

4. Java solves the problem of hotlink prevention

We can set up a filter to intercept all requests and extract the referer in http when external requests come in. Then make a judgment. If it is the source of this website, then allow access, otherwise deny it.


public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 
      throws IOException, ServletException { 
      HttpServletRequest req = (HttpServletRequest) request; 
      HttpServletResponse resp = (HttpServletResponse) response; 
      String referer = req.getHeader("referer"); 
      if(null != referer && referer.trim().startsWith("http://localhost:8080/dstn")){ 
         System.out.println("正常页面请求"); 
         chain.doFilter(req, resp); 
      }else{ 
         System.out.println("盗链"); 
         req.getRequestDispatcher("/html/error.html").forward(req, resp); 
      } 
 }
Copy after login

The above is the detailed content of Detailed explanation of anti-hotlinking and solutions in Java. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!