如何根据特定标头限制对网站的访问?

如何根据特定标头限制对网站的访问?

我在本地电脑上进行开发,但它的设置为监听外部 IP,所以任何人都可以访问我的 apache,只要他们知道端口号。

我想实施一个快速解决方案来阻止其他开发人员访问我的开发电脑。

这是想要做的:我想要要求 http 请求包含特定的自定义标头,如果不存在则拒绝该请求,并且理想情况下也会将其记录为错误。

例如,我想要 http 标头 x-developer 的值为“myname”,如果标头 x-developer 不存在或者值不是“myname”,则拒绝请求。在前端,我将使用设置自定义请求标头的 chrome 扩展,称为“额外标头”

我如何在 Apache 2 中做到这一点?

这是否需要任何额外的模块?

答案1

RewriteEngine on
RewriteCond %{HTTP:X-Developer} ^myname$
RewriteRule .? - [E=headerok]

Order deny,allow
Deny from all
Allow from env=headerok

查看mod_rewrite 文档有关%{HTTP}RewriteCond 中的匹配以及 RewriteRule 中的 E 选项的信息。

我认为你知道这是一种弱的安全形式,任何能够嗅探你的网络流量的人都可能轻易欺骗你。

答案2

让你的 Apache 仅在本地主机上监听。

相关内容