Hello all, I am trying to block requests based off of HTTP Headers
using a RewriteCond to a RewriteMap. I have the following: RewriteMap hosts-deny txt:/path_to/hosts.deny RewriteCond ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}
!=NOT-FOUND [OR] RewriteCond ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}
!=NOT-FOUND [OR] RewriteCond ${hosts-deny:%{true-client-ip}|NOT-FOUND}
!=NOT-FOUND RewriteRule ^/.* - [F] I want to block requests if the REMOTE_HOST, REMOTE_ADDR or
true-client-ip header matches the contents of the hosts.deny file. The
hosts.deny file I have created looks like: 192.168.1.2 – 192.168.1.3 - If the REMOTE_HOST or REMOTE_ADDR matches the contents of
the hosts.deny file, the block works. However, if I set an HTTP header for
true-client-ip it does not match. I’ve tried a number of combinations and
cannot get this to work as expected. I know that the true-client-ip header
exists, as I am using it to log information into a log file successfully. -- |