简单文件包含案例

php 复制代码
#index.php
<?php
$file = $_GET["file"];

if (!$file) echo '<a href="?file=upload">upload?</a>';
if(stristr($file,"input")||stristr($file, "filter")||stristr($file,"data")/*||stristr($file,"phar")*/){
	echo "hick?";
	exit();
}else{
	include($file.".php");
}
?>
php 复制代码
<form action="upload.php" method="post" enctype="multipart/form-data" >
	 <input type="file" name="fupload" />
 	<input type="submit" value="upload!" />
</form>
<!-- file=D://dsadasdasdasd/2.zip#2.php -->
you can upload jpg,png,zip....<br />
<?php
if( isset( $_FILES['fupload'] ) ) {
    $uploaded_name = $_FILES[ 'fupload' ][ 'name' ];         //文件名
    $uploaded_ext  = substr( $uploaded_name, strrpos( $uploaded_name, '.' ) + 1);   //文件后缀
    $uploaded_size = $_FILES[ 'fupload' ][ 'size' ];         //文件大小
    $uploaded_tmp  = $_FILES[ 'fupload' ][ 'tmp_name' ];     // 存储在服务器的文件的临时副本的名称
    $target_path = "uploads\\".md5(uniqid(rand())).".".$uploaded_ext;
    if( ( strtolower( $uploaded_ext ) == "jpg" || strtolower( $uploaded_ext ) == "jpeg" || strtolower( $uploaded_ext ) == "png" || strtolower( $uploaded_ext ) == "zip" ) &&
        ( $uploaded_size < 1000000 ) ) {
        if( !move_uploaded_file( $uploaded_tmp, $target_path ) ) {// No
            echo '<pre>upload error</pre>';
        }
        else {// Yes!
            echo "<pre>".dirname(__FILE__)."\\{$target_path} succesfully uploaded!</pre>";
        }
    }
    else {
        echo '<pre>you can upload jpg,png,zip....</pre>';
    }
}
 ?>

打开index.php

点击upload,跳转至upload.php

写一个.php文件

将此文件解压成压缩包,更改压缩包名(不更改也可以,因为此网站可以上传zip文件)

上传该压缩包(我是更改压缩包后缀为.jpg)

跳转至index.php,然后因为没有过滤zip://伪协议,因此直接使用,拼接路径(最后的文件名后缀不用编写因为index文件中参数上传成功时会添加后缀.php)

php 复制代码
http://127.0.0.1/lzy/index.php?file=zip://E:/get/phpstudy_pro/WWW/lzy/uploads/511ab3b75caecc61e7ace7dde4f4186c.jpg%234
相关推荐
冬奇Lab2 小时前
【Kotlin系列06】面向对象进阶:从接口到多态,设计灵活可扩展的代码
android·kotlin·编程语言
·云扬·2 小时前
ClickHouse数据备份与恢复实战:从基础操作到工具应用
android·java·clickhouse
stevenzqzq2 小时前
Cursor/IDEA/Android Studio 【方法/类定义】全套快捷键
android studio·快捷键
消失的旧时光-19432 小时前
Android + Flutter 混合架构全景图:从接入到系统的完整方法论
android·flutter
MengFly_2 小时前
Compose案例 — Android 调用系统相机拍照
android·kotlin·compose
tangweiguo030519872 小时前
如何优雅地在Android中集成第三方.so库并封装自定义JNI层
android
不如喫茶去2 小时前
VScode突然打不开,点击图标没反应
ide·vscode·编辑器
游戏开发爱好者82 小时前
如何在 Windows 环境下测试 iOS App,实时日志,CPU监控
android·ios·小程序·https·uni-app·iphone·webview
似霰2 小时前
AIDL Hal 开发笔记1----AIDL HAL 整体架构
android·framework·hal