阅读模式:

php文件下载防盗链

查看:4791  回复:0  类型:  来源:php自学网  标签 php

        php文件下载安全防盗链,对网站的下载链接进行隐藏,提高服务器的安全


文件列表页面:

<ul>
    <li><a href="download.php?id=1">文件1</a></li>
    <li><a href="download.php?id=2">文件2</a></li>
    <li><a href="download.php?id=3">文件3</a></li>
</ul>

download.php页面:

$id = GET['id'];

//通过这个id去获取数据库下载表中的下载路径,然后把下载路径放入下面代码中打开...

//打开文件
$file = fopen('test.rar','r');
//定义下载头部信息
header("content-type:application/octet-stream");
header("accept-ranges:bytes");
//清理filesize()函数的缓存
clearstatcache();
header("accept-length:".filesize('test.rar'));
header("content-disposition:attachement;filename='test.rar'");
echo fread($file,filesize('test.rar'));
fclose($file);
exit;

        程序通过发送header信息告诉服务器和浏览器来下载文件。浏览器通过 applicatin/octet-stream 开启下载文件弹窗,而下载文件的路径也会被隐藏看不到,防止它站进行调取而占用本站服务器带宽。

        文件的路径可以通过传入id的方式去获取,从而做到一个文件处理脚本被多个文件下载共用。

分享到:
0 0

*有问题之处烦请在评论中指出非常感谢!
不是我想要的内容,继续搜索:

扫描二维码手机查看

发布评论:


登录:
  表情:
评论话题
推荐阅读:
一键分享到QQ空间、QQ好友、新浪微博、微信代码   阅读:19862centos 7 安装 php-7.1.3   阅读:10483十张GIF让你弄懂递归等概念   阅读:2636javascript获取两个日期间的所有日期   阅读:1093十张GIF让你弄懂递归等概念   阅读:2636php 获取当前前后年、月、星期、日、时分秒的时间   阅读:2678linux php7编译安装mongodb扩展   阅读:3318面试的时候回去等通知,等电话的真实意思   阅读:11406mysql数据库性能的基本优化   阅读:2422centos 7 忘记root密码   阅读:2023mysql5.7开启sql日志的配置   阅读:3474网站局部小图片优化-base64编码图片   阅读:4209nginx编译安装后对nginx进行平滑升级   阅读:1348人性漫画:打工与创业的残酷区别   阅读:2089网站局部小图片优化-base64编码图片   阅读:4209移动端自适应rem原理   阅读:6197面试的时候和你谈理想,是理想or入坑?   阅读:3653php压缩页面的html代码一行显示   阅读:3528centos7.3安装mongodb3.6   阅读:3731比phpexcel还要简单的excel CSV 一键导入数据到数据库   阅读:2437给网站添加一键qq登录的功能   阅读:3572session与cookie的区别   阅读:2090php连接redis   阅读:2808linux命令中执行php脚本   阅读:2808centos 7.2 添加php7 的 php-fpm 开机启动   阅读:12541面试的时候回去等通知,等电话的真实意思   阅读:11406centos 7 安装 nginx-1.11.10   阅读:4288用php从1加到100的值   阅读:4430html5 离线缓存的使用   阅读:2073linux rarcrack破解rar、zip和7z压缩包简单密码的工具   阅读:5083移动端js触摸touch详解(附带案例源码)   阅读:7327php显示刚刚、几分钟前、几小时前、几天前的函数   阅读:3278linux时间戳有趣的情人节秒1234567890   阅读:2398Mysql在大型网站的应用架构演变   阅读:2364浅谈javascript的函数节流   阅读:2056centos7开启交换内存   阅读:4390shell脚本破解十位数内的所有纯数字rar加密压缩包脚本   阅读:4423栈和堆的区别   阅读:2158移动端js触摸touch详解(附带案例源码)   阅读:7327php 读取和设置redis的键值   阅读:3864javascript点击复制内容   阅读:2744移动端自适应rem原理   阅读:6197centos 7 安装 mysql-5.7   阅读:2946php文件下载防盗链   阅读:4792linux php7安装yaf扩展   阅读:3080程序员找工作三要素(必看)   阅读:2514centos 7 安装 samba 服务   阅读:2770php生成二维码   阅读:2696javascript获取两个日期间的所有日期   阅读:1093解决 nginx 413 request entity too large   阅读:2086