Home  >  Article  >  php教程  >  php图片文件,下载文件,防盗链设置方法

php图片文件,下载文件,防盗链设置方法

WBOY
WBOYOriginal
2016-05-25 16:41:16947browse

在php中最简单的防盗链办法就是利用php的$_SERVER[\'HTTP_REFERER\']函数来操作了,但是此方法不可靠了,我们最终还是需要使用apache,iis来进行操作的,下面我分享介绍了,有需要的朋友可参考.

php防盗链,代码如下:

<?php 
session_start(); 
session_register(‘check’); 
$_SESSION[‘check’]=true; 
?>

检查session变数,判断是否造访首页,并且检查他的来源网页参考(HTTP_REFERER)是否来自本地网站的网页,方法如代码如下:

<?php 
session_start(); 
$refs = parse_url($_SERVER[&#39;HTTP_REFERER&#39;]); //分解参考网页资讯 
//检查首页session及来源主机是否相同,phprm.com
if(!($_SESSION[&#39;check&#39;]) || $refs[&#39;host&#39;] != $_SERVER[&#39;HTTP_HOST&#39;]) 
exit; 
?>

注意:这个只能简单的防盗链了,如果稍懂一点的就可以破解了.利用服务器来设置php防盗连.

apache防盗链,修改httpd.conf,代码如下:

SetEnvIfNoCase Referer "^" local_ref=1  
<FilesMatch ".(gif|jpg)">  
Order Allow,Deny  
Allow from env=local_ref  
</FilesMatch>

如果希望显示一张“禁止盗链”的图片,我们可以用mod_rewrite 来实现,首先在安装 apache 时要加上 --enable-rewrite 参数加载 mod_rewrite 模组,假设“禁止盗链”的图片为abc.gif,我们在 httpd.conf 中可以这样配置,代码如下:

RewriteEngine on  
RewriteCond %{HTTP_REFERER} !^$  
RewriteCond %{HTTP_REFERER} !^http://(www.)?www.phprm.com /.*$ [NC]  
RewriteRule .(gif|jpg)$ abc.gif [R,L] 
DocumentRoot "/usr/local/apache/htdocs"  
#设置存放站点html文件的目录。 
<Directory />  
Options FollowSymLinks  
AllowOverride None  
</Directory>

iis防盗链:执行文件选择 c:RewriteRewrite.dll 即可以了,httpd.ini是配置文件.

图片防盗链代码如下:

[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]


本文地址:

转载随意,但请附上文章地址:-)

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