以下代码是否可行?或者不是因为它存在安全问题?我想从一个文件夹转到另一个文件夹,所以如果fwrite函数位于/ 1,我可以写入/ 2上的.txt文件吗?
<?php
$myFile = "../news/derp.txt";
$fh = fopen('derp.txt', 'w') or die("File Can't Be Written To.");
$stringData = "Yo, .";
fwrite($fh, $stringData);
fclose($fh);
?>
答案 0 :(得分:3)
只要脚本在对文件具有写权限的上下文中执行,它就应该有效。
安全问题问题需要有关您正在使用它做什么以及第二个目录是否公开可见的更多信息。
答案 1 :(得分:1)
远程文件很可能不会被PHP写入,但如果它是本地文件夹,则只取决于PHP是否具有对该文件夹+文件的写入权限。
阅读本文:
“如果PHP确定文件名指定了本地文件,那么它将尝试在该文件上打开一个流。该文件必须可供PHP访问,因此您需要确保文件访问权限允许此访问。您已启用安全模式,或open_basedir可能会适用其他限制。“
答案 2 :(得分:1)
PHP可以写入文件系统的任何位置。 PHP不仅限于运行它的服务器的域,这就是LFI如此高效的原因。
答案 3 :(得分:1)
PHP可以写入它具有写访问权限的任何目录。如果您无法访问它,就好像它是共享服务器上的其他人帐户一样,那么您可能无法做到这一点。
答案 4 :(得分:0)
我的问题的答案是肯定的。我只是不知道情况,以及提升到文件的正确方法。这是最终的工作脚本。 从/1/fwrite.php写,这是脚本。
<?php
$file = fopen("../2/derp.txt","w");
fwrite($file,"Hello World!");
fclose($file);
?>