Question

How ban some http-query in Apache?

Posted November 21, 2014 1.9k views

Hello.
I have a problem - some application sends too many queries to my API (works by http). I have forbidden it in php and in .htaccess:
RewriteCond %{QUERY_STRING} apikey=23e8a4dccbcfae76f73292fd5cc13f84 [NC]
RewriteRule ^.*$ - [F,L])

But it doesn’t help. So my apache2/access.log has very-very big size and it leads to the lack of free space on server.
Can I ban this query in Apache and how can I do it?

UPDATE.
Queries are sent from the different ip-addresses and rarely (from one ip), so banning them by IP or by time limit won’t help…

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
2 answers

You’ll need to set RewriteEngine on before it will work. I would write it like this:

        RewriteEngine on
        RewriteCond %{QUERY_STRING} ^(.*)23e8a4dccbcfae76f73292fd5cc13f84(.*)$
        RewriteRule .* - [F]

Thank you, but I needed block this URL in iptables.
If somebody has the same problem, read this article http://spamcleaner.org/en/misc/w00tw00t.html

Submit an Answer