欢迎来到php自学网~
阅读模式:

php文件下载防盗链

查看:3506  回复: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

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

扫描二维码手机查看

发布评论:


登录:
  表情:
评论话题
推荐阅读:
web性能测试工具ab的测试方法   阅读:1607移动端js触摸touch详解(附带案例源码)   阅读:5113centos7开启交换内存   阅读:2787小米手机端商城rem适配原理   阅读:3074php显示刚刚、几分钟前、几小时前、几天前的函数   阅读:2209centos 7 开启网络   阅读:1796php生成二维码   阅读:2031php 使用 smtp.php 类在线发送邮件功能   阅读:2098centos 7 添加 redis 3.2.9 开机启动脚本   阅读:3430mysql共享锁和排他锁详解   阅读:2058给 centos 7 安装桌面环境   阅读:8726给网站添加一键qq登录的功能   阅读:2556linux教程,鸟哥私房菜(pdf全集)   阅读:1805面试的时候回去等通知,等电话的真实意思   阅读:7709php生成二维码   阅读:2031面试都会问你为什么你从上一家公司离职的真实意思   阅读:3870程序员找工作三要素(必看)   阅读:1790最新centos7 搭建LNMP环境(centos7.2+php7+mysql5.7+nginx1.11+redis3.2)   阅读:4532javascript点击复制内容   阅读:1818centos 7 设置 nginx-1.11.10 开机启动   阅读:2894centos 7 修改系统屏幕分辨率   阅读:16597linux top命令详解   阅读:1717linux命令中执行php脚本   阅读:1859centos 7 添加 redis 3.2.9 开机启动脚本   阅读:3430centos 7 忘记root密码   阅读:1428php文件下载防盗链   阅读:3508linux命令中执行php脚本   阅读:1859把php session 会话保存到redis   阅读:2458linux php7安装yaf扩展   阅读:1805移动端自适应rem原理   阅读:5113centos7开启交换内存   阅读:2787centos 7.2 添加php7 的 php-fpm 开机启动   阅读:9590浅谈javascript的函数节流   阅读:1532linux命令中执行php脚本   阅读:1859php冒泡排序法   阅读:1809解决 nginx 413 request entity too large   阅读:1465linux php7安装yaf扩展   阅读:1805给php7安装redis扩展库   阅读:2505HTTP 1.1 协议详解   阅读:2072面试的时候回去等通知,等电话的真实意思   阅读:7709Mysql在大型网站的应用架构演变   阅读:1797面试的时候回去等通知,等电话的真实意思   阅读:7709crontab+shell脚本实现定时备份mysql数据库   阅读:2014centos 7 开启网络   阅读:1796shell脚本批量删除几天前的文件   阅读:2384javascript点击复制内容   阅读:1818php设置cookie为HttpOnly防止XSS攻击   阅读:2902php+redis实现消息队列   阅读:1236php 读取和设置redis的键值   阅读:2988phpexcel 超简单从数据库一键导出数据到excel教程   阅读:2482