我正在尝试实现一个用户系统(PHP),其中每个用户都有一个唯一的文件夹, 用户可以将任何文件上传到该文件夹并稍后下载。
目前的限制是:文件名中的'htaccess'字符串被替换为'hhtaccesss'。 没有创建子文件夹。
我的问题:有没有办法(.htaccess或其他)将这些文件用于下载目的?为了确保这些未知文件都不会在系统上运行?
子问题是否存在压缩/解压缩这些文件的危险?
示例:如果用户键入.php文件的直接URL,系统将不会处理该文件(这可能是有害的),而只是“传递”给用户? 所有类型的脚本/文件都相同..
答案 0 :(得分:1)
其中一个解决方案是不直接公开文件。例如。将它们存储在非公共目录中,并通过另一个页面提供它们,例如download.php
,它可以读取文件内容,然后输出并使用" Content-Disposition:attachment;"报头中。
答案 1 :(得分:1)
在相应目录中的.htaccess中添加
ForceType application/octet-stream
Header set Content-Disposition attachment
应强制浏览器下载任何文件,无论类型如何。如果你想保留一些,可以使用<FilesMatch ..
。