Detailed explanation of anti-hotlinking and solutions in Java
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); } }
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!

Start Spring using IntelliJIDEAUltimate version...

When using MyBatis-Plus or other ORM frameworks for database operations, it is often necessary to construct query conditions based on the attribute name of the entity class. If you manually every time...

Java...

How does the Redis caching solution realize the requirements of product ranking list? During the development process, we often need to deal with the requirements of rankings, such as displaying a...

Conversion of Java Objects and Arrays: In-depth discussion of the risks and correct methods of cast type conversion Many Java beginners will encounter the conversion of an object into an array...

Solutions to convert names to numbers to implement sorting In many application scenarios, users may need to sort in groups, especially in one...

Detailed explanation of the design of SKU and SPU tables on e-commerce platforms This article will discuss the database design issues of SKU and SPU in e-commerce platforms, especially how to deal with user-defined sales...

How to set the SpringBoot project default run configuration list in Idea using IntelliJ...


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Dreamweaver Mac version
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

WebStorm Mac version
Useful JavaScript development tools