Очень простой скрипт пишется на PHP со сбором данных в кэш ОЗУ (memcache(d), например) и по количеству и типам обращений - ставится множитель блокировки на такой IP.
Этот скрипт-блокер ставится вначале основного скрипта сайта или можно добавить его подгрузку в .htaccess через
php_value auto_prepend_file "FULLPATH/guard.php"
Или
такой вариант с правилами в .htaccess (он проще, но тоже достаточно эффективный)