Home  >  Article  >  Backend Development  >  PHP method to prevent hotlinking of image files and downloaded files, _PHP tutorial

PHP method to prevent hotlinking of image files and downloaded files, _PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:15:26787browse

How to prevent hotlinking of image files and downloaded files in PHP,

The example in this article describes the method of preventing hotlinking of image files and downloaded files in PHP. Share it with everyone for your reference. The specific analysis is as follows:

The simplest way to prevent hotlinking in PHP is to use PHP's $_SERVER['HTTP_REFERER'] function to operate. However, this method is unreliable. We will eventually need to use Apache and IIS to operate. Specific operations Here’s how:

php anti-hotlink:

Copy code The code is as follows:
session_start();
session_register('check');
$_SESSION['check']=true;
?>

Check the session variable to determine whether to visit the home page. And check whether his source web page reference (HTTP_REFERER) comes from a web page on the local website.

The method is as follows:

Copy code The code is as follows:
session_start();
$refs = parse_url($_SERVER['HTTP_REFERER']); //Decompose reference web page information
//Check whether the homepage session and source host are the same
if(!($_SESSION['check']) || $refs['host'] != $_SERVER['HTTP_HOST'])
exit;
?>

Note: This can only be used to prevent hotlinking. If you know a little bit, you can crack it.

Use the server to set up PHP anti-theft connection

apache anti-hotlink:

Modify httpd.conf:

Copy code The code is as follows:
SetEnvIfNoCase Referer "^" local_ref=1

Order Allow,Deny
Allow from env=local_ref

If you want to display a "hot linking prohibited" picture, we can use mod_rewrite to achieve this.
First, when installing apache, add the --enable-rewrite parameter to load the mod_rewrite module.
Assuming that the "No Hotlinking" image is abc.gif, we can configure it in httpd.conf like this:

Copy code The code is as follows:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?www.jb51.net /.*$ [NC]
RewriteRule .(gif|jpg)$ abc.gif [R,L]
DocumentRoot "/usr/local/apache/htdocs"
#Set the directory where the site's html files are stored.

Options FollowSymLinks
AllowOverride None

iis anti-hotlink:

Select c:RewriteRewrite.dll to execute the file
httpd.ini is the configuration file
Image hotlink protection code


Copy code The code is as follows:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
RewriteCond Host: (.+)
RewriteCond Referer: (?!http://1.*).*
RewriteRule .*.(?:gif|jpg|png|bmp) /force.gif [I,O]

I hope this article will be helpful to everyone’s PHP programming design.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/904934.htmlTechArticleHow to prevent hotlinking of image files and downloaded files in PHP. This article describes how PHP can prevent theft of image files and downloaded files. chain method. Share it with everyone for your reference. Specific analysis is as follows...
Statement:
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