Php 防止通过URL直接下载zip、tar文件

Php 防止通过URL直接下载zip、tar文件,php,.htaccess,download,Php,.htaccess,Download,我有一个PHP应用程序,它的目录中有一些zip、tar文件。我最近注意到它们可以通过URL直接下载。我怎样才能阻止它?我想,也许通过.htaccess 我的.htaccess现在是这样的: Options All -Indexes IndexIgnore * IndexIgnore *.jpg *.gif *.xls *.jpeg *.png *.php ErrorDocument 404 /error.php ErrorDocument 403 /error.php 您是否尝试修改对该文件的

我有一个PHP应用程序,它的目录中有一些zip、tar文件。我最近注意到它们可以通过URL直接下载。我怎样才能阻止它?我想,也许通过
.htaccess

我的
.htaccess
现在是这样的:

Options All -Indexes
IndexIgnore *
IndexIgnore *.jpg *.gif *.xls *.jpeg *.png *.php
ErrorDocument 404 /error.php
ErrorDocument 403 /error.php

您是否尝试修改对该文件的权限?我认为将权限修改为600或其他可能有效

您是否尝试修改该文件的权限?我认为将权限修改为600或其他可能会阻止访问特定文件, 您可以在.htaccess中使用指令

<Files ~ "\.zip$">
Order allow,deny
Deny from all
</Files>

命令允许,拒绝
全盘否定
从Apache1.3开始,建议改为使用
,这允许文件名与常规表达式匹配

例如,以下代码将阻止对以.ini、.log、.sh和.zip结尾的文件的访问

<FilesMatch "\.(ini|log|sh|zip)$">
Order Allow,Deny
Deny from all
</FilesMatch>

命令允许,拒绝
全盘否定

为了防止访问特定文件, 您可以在.htaccess中使用指令

<Files ~ "\.zip$">
Order allow,deny
Deny from all
</Files>

命令允许,拒绝
全盘否定
从Apache1.3开始,建议改为使用
,这允许文件名与常规表达式匹配

例如,以下代码将阻止对以.ini、.log、.sh和.zip结尾的文件的访问

<FilesMatch "\.(ini|log|sh|zip)$">
Order Allow,Deny
Deny from all
</FilesMatch>

命令允许,拒绝
全盘否定

也许太迟了,但你也可以使用这种方法

RewriteRule .*\.(zip|jpg|php|gif|js)$ - [F,NC]

也许太迟了,但你也可以用这种方法

RewriteRule .*\.(zip|jpg|php|gif|js)$ - [F,NC]

把他们搬出去我知道。但是,我要问的是,当它在documentroot中时,如何阻止它?将它们移出DocumentRootwell,我知道。但是,我想问的是,当它在documentroot中时,如何阻止它?谢谢。愚蠢的我,为什么我以前没想到呢?这一切都很好。还有一个问题,
.htaccess
文件的权限应该是什么,现在是644。可以吗?可以,通常这是htacess的权限,因为需要写入。我很高兴它成功了:)不,htaccess不应该一经设置就编写。此外,我认为配置的选择取决于谁在创建zip文件:php服务器上的www数据或其他用户或应用程序?@PhilSummers:是的,你说得对,我忘记了“否”。这是一个不需要写的文件。愚蠢的我,为什么我以前没想到呢?这一切都很好。还有一个问题,
.htaccess
文件的权限应该是什么,现在是644。可以吗?可以,通常这是htacess的权限,因为需要写入。我很高兴它成功了:)不,htaccess不应该一经设置就编写。此外,我认为配置的选择取决于谁在创建zip文件:php服务器上的www数据或其他用户或应用程序?@PhilSummers:是的,你说得对,我忘记了“否”。这是一个不需要写的文件