【发布时间】:2020-02-19 19:05:18
【问题描述】:
有没有办法限制对文件夹的访问(使用 .htaccess 或其他方法),以便阻止所有请求,但来自另一个域上特定路径的请求除外?
我已经尝试过类似的方法,但它不起作用。
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} .
RewriteCond %{HTTP_REFERER} !hosting_domain\.net [NC]
RewriteCond %{HTTP_REFERER} !referring_domain\.com/path/to/referrer [NC]
RewriteRule .? - [F]
基本上,我想最终实现这样一种场景,即用户转到某个页面,然后只能从该页面访问受限文件。
更多细节...
- .htaccess 文件比“受保护”文件所在的文件夹高一级。
- 没有其他 .htaccess 文件。
- 目前允许通过直接浏览文件进行直接访问。
- 文件中唯一未注释掉的其他代码如下。
AddHandler application/x-httpd-php70 .php
<IfModule mod_suphp.c>
suPHP_ConfigPath /opt/php70/lib
</IfModule>
【问题讨论】:
-
这当然是可能的,但根本不可靠,因为显然任何对您的“受限文件”感兴趣的人都可以将引荐来源标题设置为任何看起来合适的内容。所以这更像是一种混淆形式,而不是保护系统。
-
同意。我不是 100% 关心安全性,但我只是想添加一些比没有更重要的东西。关于如何实现这一点的任何想法?
-
您的方法指向正确的方向。恐怕我们在这里帮不上什么忙,因为我们不知道您的实际请求情况。您的“但它不起作用”在这里没有帮助,到目前为止还很模糊。
-
我建议您启用重写日志记录。检查您在此处使用的重写模块的文档以了解如何操作。该文档质量非常好,是开源软件的典型代表,并附带了很好的示例。重写日志允许详细了解重写引擎内部实际发生的情况。
-
@MrWhite:我只希望通过我指定的引用链接获得文件。没有浏览到他们,或获得某种其他链接到他们。我知道推荐人可以被欺骗,这是“默默无闻的安全”,但这是我目前正在寻找的。span>
标签: .htaccess