


PHP image hotlink protection tool: Hotlink Protection_PHP tutorial
The principle of Hotlink Protection is to use Apache's RewriteCond function to detect the REFERER request when a file request is obtained, and only the URL of this website will be allowed. This principle is very suitable for the protection of self-made avatars, because avatars should only be used within this website.
The following takes discuz as an example to explain how to use it: Fire...fire...net...anti...theft...chain
Discuz’s built-in avatars are stored in the /forum/images/avatars/ directory. I only want to protect these built-in avatars. The avatars and other pictures uploaded by users do not restrict others from citing them, so the RewriteCond code can be placed in this directory:
Copy to Clipboard
RewriteCond %{HTTP_REFERER} !^http://bkjia.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://bkjia.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.bkjia.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.bkjia.com$ [NC]
RewriteRule .*.(jpg|jpeg|gif|png)$ http://www.bkjia.com/img/hp.gif [R,NC]
The four RewriteCond excludes four ways to access your own website, namely, visiting a certain page of the website without www, visiting the homepage of the website without www, visiting a certain page of the website with www, and visiting the homepage of the website with www. If it meets HTTP_REFERER other than these four situations, and the file ends with jpg or jpeg, gif, or png, it will be redirected to the http://www.bkjia.com/img/hp.gif file.
Save this file as .htaccess and upload it to the /forum/images/avatars/ directory. If you want to protect the images of the entire website, upload them to the root directory; if you want to protect files in other formats, add the extension directly to the RewriteRule.
By the way: This method has certain limitations. For example, some download tools can send custom "reference" values; in addition, the firewalls and anti-virus software installed by some users will prevent the browser from sending the HTTP_REFERER value to the server. Therefore their normal browsing will be affected. I really don’t know what the manufacturers of this type of firewall software think, because at most it only involves privacy (and it is mainly the privacy of the HTTP_REFERER website, which has nothing to do with visitors), and has nothing to do with network security.

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

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

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

Hot Topics



In PHP8, match expressions are a new control structure that returns different results based on the value of the expression. 1) It is similar to a switch statement, but returns a value instead of an execution statement block. 2) The match expression is strictly compared (===), which improves security. 3) It avoids possible break omissions in switch statements and enhances the simplicity and readability of the code.

The H5 page needs to be maintained continuously, because of factors such as code vulnerabilities, browser compatibility, performance optimization, security updates and user experience improvements. Effective maintenance methods include establishing a complete testing system, using version control tools, regularly monitoring page performance, collecting user feedback and formulating maintenance plans.

In PHP, you can effectively prevent CSRF attacks by using unpredictable tokens. Specific methods include: 1. Generate and embed CSRF tokens in the form; 2. Verify the validity of the token when processing the request.

Questions about purple slash areas in Flex layouts When using Flex layouts, you may encounter some confusing phenomena, such as in the developer tools (d...

The... (splat) operator in PHP is used to unpack function parameters and arrays, improving code simplicity and efficiency. 1) Function parameter unpacking: Pass the array element as a parameter to the function. 2) Array unpacking: Unpack an array into another array or as a function parameter.

In PHP, the final keyword is used to prevent classes from being inherited and methods being overwritten. 1) When marking the class as final, the class cannot be inherited. 2) When marking the method as final, the method cannot be rewritten by the subclass. Using final keywords ensures the stability and security of your code.

Why do negative margins not take effect in some cases? During programming, negative margins in CSS (negative...

Strict types in PHP are enabled by adding declare(strict_types=1); at the top of the file. 1) It forces type checking of function parameters and return values to prevent implicit type conversion. 2) Using strict types can improve the reliability and predictability of the code, reduce bugs, and improve maintainability and readability.
