-2

我有一个网站,用户可以在其中编写 PHP/HTML 代码并将其保存到他的计算机上。在用户输入斜杠 (/) 之前一切正常。

该文件保存到客户端计算机中,但不是保存客户端代码,而是导出一个 PHP 错误(计算机中的文件有一个错误的 PHP 代码)。文件保存代码如下:

$content = $_REQUEST['code'];   //Get the code

$file = "file.php";
file_put_contents($file, $content); //Writes the content into a file

header('Content-type: text/plain');
header('Content-Disposition: attachment; filename=$file');
readfile(dirname(dirname($con)) . '/'.$file);

该错误仅在客户端使用斜杠时发生。知道为什么会这样吗?)-:

编辑:

这是这些错误之一:

在此处输入图像描述

我尝试导出的代码如下:

/:

让我担心的是,如果我以不同的顺序 (:/) 键入完全相同的字符,那么它们会毫无错误地导出到我的计算机。

4

1 回答 1

1

我只看到一个错误——readfile(\/105.2.php)第 24 行有问题——所以我测试了它。

$file = 'file.php';
$con = '/:';
readfile(dirname(dirname($con)) . '/'.$file);

它给了我错误消息中的错误路径\/file.php

如果我使用$con=':/'它会给我正确的路径./file.php

我只是不知道是什么$con。也许你有dirname(dirname($content))你的原始代码和$content = $_REQUEST['code'];=> dirname(dirname($_REQUEST['code']))=> dirname(dirname("/:"))=>"\"

于 2013-06-06T16:04:40.430 回答