我正在一个项目上,用户可以在其中将文件上传到我的服务器。我想将文件存储在没有执行权限的文件夹中,并且我想强制用户通过php文件访问文件。我正在共享主机上。
如果我从根文件夹(即“ /home/user/Website.com/Files/MyFile.ext”)调用文件,则该文件将需要执行权限,因为它在readfile()
发送给用户之前执行。如果我从“ https://Website.com/MyFile.ext”调用它,则不需要执行权限,但是该资源要么被我的.htaccess文件阻止,要么由用户通过url看到。
我当前的解决方案是将文件夹权限设置为601,并将我在'https://Website.com/Files'中的.htaccess设置为
Order Deny, Allow
Deny from all
Allow from xxx.ServerIpAddress
和我的php文件
readfile('https://Website.com/Files/MyFile.ext');
exit();
这可以实现预期的行为,如果我在自己的服务器上,我认为这已经足够了,但是由于我是在共享主机上,所以我怀疑共享我IP地址的人可以访问我的文件,因此我正在寻找另一种方法。