如果存在具有特定值的标头,则使用.htaccess仅允许请求

时间:2018-06-14 21:05:06

标签: apache .htaccess mod-rewrite

我有一个案例,我想保护一些文件(列出目录和访问内容),除非存在特定的标题,并且该标题包含正确的值。

例如,如果标题为" x-test-header"存在且值为" abc123"然后让流量通过,否则返回403。

我尝试过各种各样的事情,例如:

RewriteEngine On

RewriteCond %{HTTP_x-test-header} !^abc123
RewriteRule ^.*$ - [R=403,L]

上述工作在某种意义上说它阻止了流量但是当我使用REST客户端来包含头部时它仍然返回403.显然我没有正确地做某事,有人能指出我正确的方向吗?

在AWS上使用Apache 2.4.33。

1 个答案:

答案 0 :(得分:2)

此规则适用于您:

RewriteCond %{HTTP:x-test-header} !^abc123$ [NC]
RewriteRule ^ - [F]