防止在服务器上下载或访问文件

时间:2013-09-05 13:18:20

标签: php apache download

我希望能够阻止人们访问服务器上的文件,例如文档,如果他们通过URL直接链接到该文件。这是出于安全目的,因此网站上的文档无法偶然发现并下载......

最佳方法是什么?

我已尝试使用.htaccess拒绝访问docs和txts作为示例,但您仍然可以下载文件,它只是阻止您访问目录...这不是我想要做的。< / p>

<Files ~ "\.(doc|txt)$">
  order allow,deny
  deny from all
</Files>

4 个答案:

答案 0 :(得分:4)

将其放在公共空间外的目录中,并通过自定义PHP页面提供,该页面需要登录或您喜欢的内容

echo file_get_contents(/var/www/example.com/file.txt);

应该可行吗

答案 1 :(得分:2)

最好的办法是首先不要将它放在Web服务器的文档根目录中。

答案 2 :(得分:2)

尝试将其放入.htaccess

<FilesMatch "\.(doc|txt)">
  Order deny,allow
  Deny from all
</FilesMatch>

答案 3 :(得分:0)

您可以在.htaccess中将对该文件夹中文件的所有请求重定向到一个特殊的PHP页面,该页面仅允许登录用户下载该文件,但拒绝未经授权访问该文件的人。

将目标文件本身放在public_html上方的文件夹中也是一个好主意。