当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-22 17:11:28 浏览: 评论:0 

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

php防盗链,代码如下:

  1. <?php 
  2. session_start(); 
  3. session_register(‘check’); 
  4. $_SESSION[‘check’]=true; 
  5. ?> 

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

  1. <?php 
  2. session_start(); 
  3. $refs = parse_url($_SERVER['HTTP_REFERER']); //分解参考网页资讯 
  4. //检查首页session及来源主机是否相同,phpfensi.com
  5. if(!($_SESSION['check']) || $refs['host'] != $_SERVER['HTTP_HOST']) 
  6. exit
  7. ?> 

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

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

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

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

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

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

图片防盗链代码如下:

  1. [ISAPI_Rewrite]  
  2. # 3600 = 1 hour  
  3. CacheClockRate 3600  
  4. RepeatLimit 32  
  5. # Protect httpd.ini and httpd.parse.errors files  
  6. # from accessing through HTTP  
  7. RewriteCond Host: (.+)  
  8. RewriteCond Referer: (?!http://1.*).*  
  9. RewriteRule .*.(?:gif|jpg|png|bmp) /force.gif [I,O] 

Tags: php图片文件 php防盗链

分享到: