php 网页版 ftp 小工具
<?php
define('IN_ECS', true);
session_start();
header("Content-type:text/html;charset=utf-8");
date_default_timezone_set('PRC');
$dir = isset($_GET['dir']) ? $_GET['dir'] : './';
$handle = opendir($dir);
$_session = $_SESSION['user_id'] = 1234;
$_logs = new Logs('./', 'lzw.php_logs.txt'); if (isset($_POST['upload'])) {
if (is_uploaded_file($_FILES['myfile']['tmp_name'])) {
$_size = 1024 * 1000 * 1000;
// $_allowType = array();
// if($_FILES['myfile']['type']){
// }
if ($_FILES['myfile']['error'] > 0) {
echo('上传失败');
}
if ($_FILES['myfile']['size'] > $_size) {
echo('超出允许的' . $_size . '字节上传大小限制');
}
if (!move_uploaded_file($_FILES['myfile']['tmp_name'], $_POST['path'] . '/' . $_FILES['myfile']['name'])) {
echo '不能将文件移动到指定目录';
} else {
$str = '↑↑↑upload↑↑↑> ' . date('Y-m-d H:i:s', time()) . ' User: ' . $_session . ' upload file ' . $_POST['path'] . $_FILES['myfile']['name'] . "\r\n";
$_logs->setLog($str);
header('Location: lzw.php?dir=' . $_POST['path']);
}
} else {
echo('恶意的用户无法欺骗脚本去访问本不能访问的文件');
} } if (isset($_POST['mkdir'])) {
$_path = $_POST['path'] . '/' . $_POST['dir_name'];
mkdir($_path, 0777);
header('location:lzw.php?dir=' . $_POST['path']);
$str = '+++++mkdir++++++++> ' . date('Y-m-d H:i:s', time()) . ' User: ' . $_session . ' mkdir file ' . $_path . "\r\n";
$_logs->setLog($str);
} if (isset($_GET['delf'])) {
unlink($_GET['delf']);
header('location: lzw.php?dir=' . $_GET['lastUrl']);
$str = '-----delfile------> ' . date('Y-m-d H:i:s', time()) . ' User: ' . $_session . ' delete file ' . $_GET['delf'] . "\r\n";
$_logs->setLog($str);
} if (isset($_GET['deld'])) {
deldir($_GET['deld']);
header('location: lzw.php?dir=' . $_GET['lastUrl']);
$str = '-----deldir-------> ' . date('Y-m-d H:i:s', time()) . ' User: ' . $_session . ' delete dir ' . $_GET['deld'] . "\r\n";
$_logs->setLog($str);
}
if (isset($_GET['download'])) {
$download = $_GET['download'];
if (!file_exists($_GET['download'])) {
echo '文件不存在';
exit();
} else {
$file = fopen($download, "r");
header("Content-Type:application/octet-stream");
header("Accept-Ranges:Bytes");
header("Accept-Length:" . filesize($download));
header("Content-Disposition:attachment;filename=" . $_GET['filename']);
echo fread($file, filesize($download));
fclose($file);
$str = '↓↓↓download↓↓> ' . date('Y-m-d H:i:s', time()) . ' User: ' . $_session . ' download dir ' . $_GET['download'] . "\r\n";
$_logs->setLog($str);
exit();
}
}
if (isset($_GET['read'])) {
$content = file_get_contents($_GET['read']);
exit("<textarea style='width: 100%;height: 100%;'>{$content}
php 网页版 ftp 小工具的更多相关文章
- jQuery实践-网页版2048小游戏
▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...
- 网页抓取小工具(IE法)
网页抓取小工具(IE法)—— 吴姐 http://club.excelhome.net/thread-1095707-1-1.html 用IE提取网页资料的好处在于:所见即所得,网页上能看到的信息一般 ...
- autoit获取ie浏览器简单操作网页(GUI小工具)
需要稍稍熟悉一下autoti提供的语言, 我简单做了一个带GUI的小工具,实现根据IE标题点击页面内的LinkText 注意:使用时IE窗口是显示状态才可以获取到(可以在脚本中加入搜索IE句柄,将ie ...
- Android 发版的小工具
Android加固包签名 我们知道自己的apk在上传市场的时候, 为了更好的包含我们的代码需要加固服务, 加固后的apk是不能直接安装的, 需要我们手动签名. 关于Android签名的知识就不在赘述了 ...
- jQuery网页版五子棋小游戏源码下载
体验效果:http://hovertree.com/texiao/game/4/ 网页五子棋源代码: <!DOCTYPE html> <html> <head> & ...
- js 创建书签小工具之理论
我们一直在寻找增加浏览体验的方法,有的方法众所周知,有的则鲜为人知.我原本认为书签小工具属于后者,非常令人讨厌的东西.令我非常懊恼的是我发现在这个问题上我完全是错误的.它并不是令人厌烦的,而是以用户为 ...
- jQuery实践-别踩白块儿网页版
▓▓▓▓▓▓ 大致介绍 终于结束了考试,放假回家了.这次的别踩白块儿网页版要比之前做的 jQuery实践-网页版2048小游戏 要简单一点,基本的思路都差不多. 预览:别踩白块网页版 这篇博客并不是详 ...
- 小白突破百度翻译反爬机制,33行Python代码实现汉译英小工具!
表弟17岁就没读书了,在我家呆了差不多一年吧. 呆的前几个月,每天上网打游戏,我又不好怎么在言语上管教他,就琢磨着看他要不要跟我学习Python编程.他开始问我Python编程什么?我打开了我给学生上 ...
- 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”
这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...
随机推荐
- Django基础之MTV模型
一.Django基础 一.Django简介 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型(Model).视图(View)和控制器(Control ...
- 解决使用window.history.back(),返回上一页后,页面不刷新问题
window.onpageshow = function(event) { if (event.persisted) { window.location.reload(); } }
- iText C# 合并PDF文件流,以及A5变A4时内容默认放在最底下的问题的解决方法;ASP.NET 实现Base64文件流下载PDF
/// <summary> 合併PDF檔(集合) </summary> /// <param name="files">欲合併PDF檔之集合(一 ...
- MySQL--8MySQL存储过程小结
CURD: 就是对数据表进行插入更新删除查找的操作. 预编译:第一次会分析语法是否正确,编译成可识别的命令.然后存在内存中,以后再调用就省去了这两步,效率变高. 第一点:在存储过程内可以写控制语句,可 ...
- Kotlin provideDelegate
提供委托 这又是一个蛋疼的叫法,其实,就是给A和委托B之间插入一个中间件而已 这个中件间的作用是用了对委托的参数做一个校验 好了,别的不多说,直接给demo import kotlin.reflect ...
- caffe配置文件
一.数据层及参数 要运行caffe,需要先创建一个模型(model),如比较常用的Lenet,Alex等, 而一个模型由多个屋(layer)构成,每一屋又由许多参数组成.所有的参数都定义在caffe. ...
- 关于linux中SSH爆破总结
2.思路 (1)对root账号进行暴力破解 (2)使用中国姓名top1000作为用户名进行暴力破解 (3)使用top 10000 password字典进行密码破解 (4)利用掌握信息进行社工信息整理并 ...
- opcode
https://www.cnblogs.com/JohnABC/p/4531029.html
- wordpress学习(五)----插件
wordpress加载顺序:首先加载插件,再加载主题中的functions.php,初始化一些数据之类的,最后加载模板了!!! update_option("hc_copyright_tex ...
- Yii数据对象笔记
要执行一个SQL查询,应该遵循以下步骤 - 创建一个 yii\db\Command 的 SQL查询命令 绑定参数(非必须) 执行命令 第1步 - 创建一个 actionTestDb()方法在 Site ...