Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用.htaccess拒绝除特定引用页之外的所有内容_.htaccess - Fatal编程技术网

使用.htaccess拒绝除特定引用页之外的所有内容

使用.htaccess拒绝除特定引用页之外的所有内容,.htaccess,.htaccess,是否有办法限制对文件夹的访问(使用.htaccess或其他方法),以阻止除来自另一个域上特定路径的请求之外的所有请求 我试过类似的方法,但不起作用 RewriteEngine On RewriteBase / RewriteCond %{HTTP_REFERER} . RewriteCond %{HTTP_REFERER} !hosting_domain\.net [NC] RewriteCond %{HTTP_REFERER} !referring_domain\.com/path/to/

是否有办法限制对文件夹的访问(使用.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应用程序/x-httpd-php70.php
suPHP\u配置路径/opt/php70/lib

我只想通过我指定的引用链接获得文件禁止浏览它们

如果不想允许“直接访问”,则需要删除第一条检查
Referer
是否为空的
RewriteCond
指令。对于直接请求,
Referer
为空

如果您只希望引用域访问资源,则还应删除第二个条件

您还可以更具体地引用域,并包含完整的绝对URL。换言之:

RewriteCond %{HTTP_REFERER} !^https://referring_domain\.com/path/to/referrer$
RewriteRule .? - [F]
我还删除了
NC
标志-
Referer
应该是“精确”的URL-正确的大小写。(如果已设置。)

我只想通过我指定的引用链接获得文件禁止浏览它们

如果不想允许“直接访问”,则需要删除第一条检查
Referer
是否为空的
RewriteCond
指令。对于直接请求,
Referer
为空

如果您只希望引用域访问资源,则还应删除第二个条件

您还可以更具体地引用域,并包含完整的绝对URL。换言之:

RewriteCond %{HTTP_REFERER} !^https://referring_domain\.com/path/to/referrer$
RewriteRule .? - [F]


我还删除了
NC
标志-
Referer
应该是“精确”的URL-正确的大小写。(如果设置了。)

这当然是可能的,但一点也不可靠,因为显然任何对“受限文件”感兴趣的人都可以将referer头设置为任何合适的值。因此,这更多的是一种模糊处理,而不是保护一个系统。我不是百分之百地关心安全问题,但我只是想增加一些比什么都不重要的东西。关于如何实现这一点有什么想法吗?你的方法指向了正确的方向。恐怕我们在这方面帮不了什么忙,因为我们不知道你们的实际要求情况。您的“但它不工作”在这里没有帮助,它是模糊的。我建议您启用重写日志记录。检查您在此处使用的重写模块的文档,了解如何使用。该文档的质量非常好,是开源软件的典型,并且附带了很好的示例。重写日志记录允许您详细了解重写引擎内部的实际情况。@MrWhite:我只希望通过指定的引用链接获得文件。没有浏览到他们,或获得某种其他链接到他们。我知道推荐人可能会被欺骗,这是“隐晦的安全性”,但这正是我目前所关注的。这当然是可能的,但一点也不可靠,因为显然任何对您的“受限文件”感兴趣的人都可以将推荐人头设置为任何合适的。因此,这更多的是一种模糊处理,而不是保护一个系统。我不是百分之百地关心安全问题,但我只是想增加一些比什么都不重要的东西。关于如何实现这一点有什么想法吗?你的方法指向了正确的方向。恐怕我们在这方面帮不了什么忙,因为我们不知道你们的实际要求情况。您的“但它不工作”在这里没有帮助,它是模糊的。我建议您启用重写日志记录。检查您在此处使用的重写模块的文档,了解如何使用。该文档的质量非常好,是开源软件的典型,并且附带了很好的示例。重写日志记录允许您详细了解重写引擎内部的实际情况。@MrWhite:我只希望通过指定的引用链接获得文件。没有浏览到他们,或获得某种其他链接到他们。我知道推荐人可能会被欺骗,这是“默默无闻的安全”,但这正是我现在看到的。也许我做错了。我有。。。RewriteBase/RewriteCond%{HTTP_REFERER}!上的RewriteEngine重写规则[F] 我遗漏了什么?评论上的格式弄乱了。它不允许换行。对不起,它应该和我的答案中写的一模一样(加上
RewriteEngine On
指令)<此处不需要代码>重写库。那么,有什么问题?这些文件仍然可以直接访问吗?来自引用域的链接未被阻止?您的
.htaccess
文件中是否有其他指令?您是否有其他
.htaccess
文件?正在处理
.htaccess
文件吗?浏览器在HTTP请求头中传递的
Referer
是什么?在.htaccess文件中,我只有
RewriteCond%{HTTP_Referer}上的RewriteEngine^示例\.com/subdomainfolder/folders/referenting_page.php$RewriteRule.?-[F] 
example\.com/subdomainfolder/folders/referenting_page.phppage.FYI:Chrome inspector在被禁止的文件上说“推荐人策略:降级时无推荐人”,我得到了403禁止。我真的不太懂直接编辑.htaccess文件,所以可能我做错了什么。可能我做错了。我有。