W mojej konfiguracji Apache chcę ustawić zmienną środowiskową, jeśli widzę, że użytkownik pochodzi z określonego zakresu adresów IP. Obecnie robię to w ten sposób:
SetEnvIfNoCase Remote_Addr "^194\.8\.7[45]\." banned=spammer-ip
SetEnvIfNoCase Remote_Addr "^212\.156\.170\." banned=spammer-ip
Wolałbym coś takiego:
SetEnvIfIpRange 194.8.74.0/23 banned=spammer-ip
SetEnvIfIpRange 212.156.170.0/24 banned=spammer-ip
... ponieważ myślę, że konwersja adresu IP na ciąg znaków, a następnie wykonanie wyrażenia regularnego, jest całkowitą stratą zasobów.
Mógłbym zrobić
Deny From 194.8.74.0/23
... ale potem nie otrzymuję zmiennej, którą mogę sprawdzić na stronie błędu 403 - aby znaleźć przyczynę odmowy dostępu.
Jakieś sugestie, co mogę przegapić? Czy istnieje moduł Apache2 MOD, który może ustawiać zmienne środowiskowe na podstawie „Zakresów adresów IP”?