Apache, użyj X-Forwarded-For, aby zezwolić


Odpowiedzi:


23

Możesz użyć SetEnvIf i Zezwalaj:

    <Location "/only_proxy/">
            SetEnvIf X-Forwarded-For ^10\.1\.1\. proxy_env
            Order allow,deny
            Satisfy Any
            Allow from env=proxy_env
    </Location>

1
Pamiętaj, że naprawdę łatwo jest sfałszować nagłówek X-Forwarded-For.
Olli

Można również dość łatwo zabezpieczyć się przed sfałszowanymi nagłówkami X-Forwarded-For (usuwając ten nagłówek w punktach wejścia do środowiska).
larsks

1
znalazłem ten post, szukając informacji o tym, jak chronić się przed sfałszowanymi nagłówkami przekierowanymi x, czy mógłbyś wskazać odpowiedni dokument?
Pete,

2

Możesz użyć mod_rpaf, aby Apache traktował adres IP X-Forwarded-For jako adres IP klienta.


7
Dla tych, którzy znajdą tutaj swoją drogę od Google: pamiętaj, że mod_rpafjest w stanie uczynić twoje logi tylko użytecznymi; w rzeczywistości nie wpływa na adres użyty w decyzjach o kontroli dostępu. Zauważ też, że w Apache 2.4 mod_rpaffunkcjonalność jest dostarczana natywnie przez mod_remoteip .
larsks

1
@larsks: To nie jest prawda. Próbowałem i to zadziałało dla mnie!
confiq

2

Możesz napisać regułę przepisywania w celu przekierowania do odpowiedzi 403.

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-For} !(1.1.1.1|2.2.2.2)
RewriteRule .* - [F]
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.