使用 Apache 中的 X-Forwarded-For 标头限制访问

使用 Apache 中的 X-Forwarded-For 标头限制访问

我正在尝试使用规则设置目录的访问权限.htaccess。显然,远程 IP 始终是localhost由提供商 (SourceForge.net) 的设置方式决定的。

我注意到在X-Forwarded-For标题中设置了正确的 IP。

我如何才能根据标X-Forwarded-For头仅允许访问某些已知主机?

答案1

RewriteEngine On
SetEnvIfNoCase X-Forwarded-For .+ forwarded=yes
RewriteCond %{ENV:forwarded} yes
RewriteRule ... my conditions ...

如果 X-Forwarded-For 被转发到多个服务器,则可以包含多个 IP 地址 - 如果是这种情况,那么您需要一些脚本来循环遍历此列表并对其进行处理。

相关内容