php实现图片文件与下载文件防盗链的方法


Posted in PHP onNovember 03, 2014

本文实例讲述了php实现图片文件与下载文件防盗链的方法。分享给大家供大家参考。具体分析如下:

在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['HTTP_REFERER']); //分解参考网页资讯

//检查首页session及来源主机是否相同

if(!($_SESSION['check']) || $refs['host'] != $_SERVER['HTTP_HOST'])

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.)?3water.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]

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
php学习笔记(三)操作符与控制结构
Aug 06 PHP
PHP读取PDF内容配合Xpdf的使用
Nov 24 PHP
php图片加水印原理(超简单的实例代码)
Jan 18 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
Jun 30 PHP
php实现把url转换迅雷thunder资源下载地址的方法
Nov 07 PHP
PHP模板解析类实例
Jul 09 PHP
php实现的递归提成方案实例
Nov 14 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
Jan 04 PHP
php实现购物车功能(上)
Jul 23 PHP
PHP重定向与伪静态区别
Feb 19 PHP
php处理多图上传压缩代码功能
Jun 13 PHP
php操作redis命令及代码实例大全
Nov 19 PHP
php过滤表单提交的html等危险代码
Nov 03 #PHP
PHP屏蔽过滤指定关键字的方法
Nov 03 #PHP
php中count获取多维数组长度的方法
Nov 03 #PHP
Codeigniter(CI)框架分页函数及相关知识
Nov 03 #PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 #PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
Nov 01 #PHP
ThinkPHP查询语句与关联查询用法实例
Nov 01 #PHP
You might like
PHP 防恶意刷新实现代码
2010/05/16 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
PHP中使用Imagick实现各种图片效果实例
2015/01/21 PHP
php使用explode()函数将字符串拆分成数组的方法
2015/02/17 PHP
php 流程控制switch的简单实例
2016/06/07 PHP
随机显示经典句子或诗歌的javascript脚本
2007/08/04 Javascript
js判断上传文件的类型和大小示例代码
2013/10/18 Javascript
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
node.js中的path.delimiter方法使用说明
2014/12/09 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
js改变embed标签src值的方法
2015/04/10 Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
2015/11/25 Javascript
AngularJS中的过滤器filter用法完全解析
2016/04/22 Javascript
第一次接触神奇的Bootstrap基础排版
2016/07/26 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
JavaScript中的惰性载入函数及优势
2020/02/18 Javascript
浅谈vue权限管理实现及流程
2020/04/23 Javascript
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
简单介绍Python中的try和finally和with方法
2015/05/05 Python
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
django反向解析和正向解析的方式
2018/06/05 Python
python中ASCII码和字符的转换方法
2018/07/09 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
2019/06/03 Python
Python gevent协程切换实现详解
2020/09/14 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
使用Python爬虫爬取小红书完完整整的全过程
2021/01/19 Python
美国知名运动产品零售商:Foot Locker
2016/07/23 全球购物
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
德国电子产品购物网站:TechInTheBasket德国
2018/12/07 全球购物
Shell如何接收变量输入
2016/08/06 面试题
Java程序员面试90题
2013/10/19 面试题
养殖人员的创业计划书范文
2013/12/26 职场文书
教师节标语大全
2014/10/07 职场文书
三好学生评语大全
2014/12/29 职场文书
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL