0

我正在处理上传脚本,我希望用户能够上传任何文件。我让它在本地主机上工作,我补充说

    php_flag engine off 
    AddType text/plain php html shtml php5 php4 php3 cgi asp aspx xml

到我上传文件夹中的 htaccess,它显示了 PHP、html 和所有其他文件的来源。正是我想要的。现在我试图将它上传到一个真正的网络服务器,不幸的是我的主机不允许这样的 .htaccess 文件。

我尝试使用 file_get_content() 和 fopen() 打开文件并给它们一个文本/纯文本标题..但没有任何效果。它首先执行脚本并在我的 textarea 中显示输出。

你们对我如何在没有 .htaccess 的情况下解决这个问题有什么建议吗?

谢谢!

4

1 回答 1

1

不要将文件上传到 webroot 并让人们直接访问它们。正如您所说,.php 脚本(可能还有更多)以这种方式执行。任意代码执行攻击的经典方法。

将上传的文件存储在不可公开访问的 webroot 之外,并在完成必要的权限检查后创建一个允许用户下载文件的脚本,例如使用readfileApache mod_xsendfile 。

另请参阅上传的安全威胁

于 2012-07-18T11:07:34.527 回答