gpt4 book ai didi

php - 如何允许在不执行 PHP 文件的情况下将它们上传到服务器

转载 作者:搜寻专家 更新时间:2023-10-31 21:14:09 24 4
gpt4 key购买 nike

我想让用户能够上传和下载 PHP 文件而不执行它们, 我需要为特定目录关闭 PHP 以便它表现为纯文本

我试过了,但这是一个合适的解决方案吗?

RemoveHandler .php .phtml .php3
RemoveType .php .phtml .php3
php_flag engine off

最佳答案

您可以使用代理脚本来处理此问题。

在你的.htaccess文件中,你可以重定向文件夹中的所有请求,改成这样:

http://example.com/uploads/myfilewithadminaccess.php

http://example.com/uploads/index.php?file=myfilewithadminaccess.php

.htaccess的来源

RewriteEngine On
RewriteRule ^([^/]*)$ ./index.php?file=$1 [L]

index.php 中解析文件并给出输出。

index.php 来源:

<?php
header("Content-type: text/html");
$filename = (file_exists("uploads/" . $_GET["file"])) ? "uploads/" . $_GET["file"] : "error.txt";
$filecont = file_get_contents($filename);
echo htmlspecialchars($filecont);
?>

fiddle :http://codepad.viper-7.com/68FSIU

注意:您需要在允许 URL 传递之前清理输入。因此,人们可能会注入(inject) ../ 等。应该小心这些。

希望这对您有所帮助,一切都很好。

关于php - 如何允许在不执行 PHP 文件的情况下将它们上传到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12837017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com