php 下载服务器任意文件

栏目: PHP · 发布时间: 7年前

内容简介:发表于 2018-11-08 09:25:43 by月小升2018年11月服务器挂了,各种底层命令行失效,只能通过只有cd 和 cat命令有效 vi失效,ls失效

发表于 2018-11-08 09:25:43 by月小升

2018年11月服务器挂了,各种底层命令行失效,只能通过 php 下载 服务器的数据库备份文件 (备份还是应该在异地备份,否则麻烦的很)

只有cd 和 cat命令有效 vi失效,ls失效

cat > a.php << \EOF

输入完毕 php 代码输入EOF就可以退出了。

<?php
$name = $_GET['name'];
function read($filename){
$arr = explode("/", $filename);
$lastname =  $arr[count($arr)-1];
 
$file_size = filesize($filename);
    header("Content-type: application/octet-stream"); //返回的文件 
  header("Accept-Ranges: bytes");   //按照字节大小返回
  header("Accept-Length: $file_size"); //返回文件大小
  header("Content-Disposition: attachment; filename=".$lastname);//这里客户端的弹出对话框,对应的文件名
    $fp = fopen($filename, "rb");//读取二进制文件时,需要将第二个参数设置成'rb'
//向客户端返回数据
 //设置大小输出
 $buffer=1024;
 $file_count=0;
 while(!feof($fp) && ($file_size-$file_count)>0){
  $file_data=fread($fp,$buffer);
  $file_count+=$buffer;
  echo $file_data;
 }
 fclose($fp);
}
$file = '/root/'.$name;
 
read($file);
 ?>

此代码可以实现 下载 站的文件验证,加密,等各种功能,因为所有文件下载必须经过 php 文件,就可以进行cookie认证鉴权等操作。

比如服务器存了个java-er.com.zip,客户下载必须登录,就可以用php来实现。发现客户没登录,那么禁止下载

当然这个zip文件实际上不在http服务目录下,而是在专门的无法被http直接访问的目录。

首发地址:–

无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

软件的奥秘

软件的奥秘

[美] V. Anton Spraul / 解福祥 / 人们邮电出版社 / 2017-9-1 / 49

软件已经成为人们日常生活与工作中常见的辅助工具,但是对于软件的工作原理,很多人却不是非常了解。 本书对软件的工作原理进行了解析,让读者对常用软件的工作原理有一个大致的了解。内容涉及数据如何加密、密码如何使用和保护、如何创建计算机图像、如何压缩和存储视频、如何搜索数据、程序如何解决同样的问题而不会引发冲突以及如何找出最佳路径等方面。 本书适合从事软件开发工作的专业技术人员,以及对软件工作......一起来看看 《软件的奥秘》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具