如何允许服务器访问文件而不是用户?

时间:2011-02-25 19:15:55

标签: apache .htaccess

我有一个包含大量文件的目录&我不希望任何人通过获取目录列表或猜测文件位置和访问来访问这些文件。输入它....它不应该允许他们下载它。

我通过将以下内容放在我的.htaccess文件中来完成此操作:

Options -Indexes

Order Allow,Deny
Deny from all

但是,我希望用户只能通过脚本(位于不同的目录中)访问该文件才能下载该文件,这将为他们提供下载。目前使用上述设置它不起作用。

我想过把类似的东西......

Allow from domain.com

但我不是100%肯定这意味着什么?这会检查REQUEST的来源吗?因此,如果服务器请求访问该目录,它会工作吗? ...或者它仍然无法工作,因为用户仍然通过其他脚本使用域来访问目录?

2 个答案:

答案 0 :(得分:3)

如果您使用“脚本”转储文件,则可以将文件存储在documentroot之外。所以你不需要htacces文件。

也许这是一个更好的解决方法。

答案 1 :(得分:0)

一种方法是在用户尝试访问此示例中文件夹sec_files内的可下载文件时,将用户说重定向到您的主页。

当我购买安全下载链接的一个客户的codecanyon产品要求提供保护包含图像或可下载文件夹的文件夹的解决方案时,我研究了这个问题。

.htaccess代码如下。此.htaccess文件放在sec_files可下载文件夹中。

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/~sec_files/ [OR]
RewriteCond %{HTTP_HOST} ^www.satyamtechnologies.net$
RewriteRule ^(.*)$ http://www.satyamtechnologies.net [R,L]

当您访问here时,查看它是如何工作的,它会将您重定向到主页,但是当您通过php脚本here访问它时,它将允许您下载相同的文件。