I'm encountering an apparent issue with the ban hosts functionality and the plugins interaction with the .htaccess file.
My site is hosted via godaddy.com and a part of this package is a security vulnerability site testing service. They hit the site daily with various scripts to try and discover issues. This testing will often cause a lot of 404 errors (e.g. 2900+ in the last couple of days) to occur. During their testing the ban hosts functionality of the plugin kicks also in. The Deny rule for the offending IP address is written into the .htaccess file, but multiple times (like hundreds of times). Eventually the site breaks and you are unable to also login to Administer wordpress.
Closer inspection of the .htaccess file...
• the HackRepair.com Blacklist section appears to be fine. (content only appears once)
• in the Order allow, deny section their are hundreds of entries for "Deny from 72.167.191.1". (This is one of the site scanner service hosts.)
• As you scroll down this list of deny entries you happen upon duplicate RewriteRules and RewriteConditions - then followed by more deny entries for "Deny from 72.167.191.1". In fact, this occurs several times in the entirety of the .htaccess file. Example attached below. I can provide the .htaccess file if requested by a plugin representative.
• My guesses only.. It appears as if the .htaccess file is being written over the top. Memory running out somewhere? Maybe the plugin can't cope with the speed at which the security server is making requests for 404 files and needing to write to the htaccess file?
• This issue is reproducable. It has now happened three times. Prior to the third time I had added a Ban hosts wildcard of 72.167.191.*
• My fix to date has been to rename the .htaccess file to .htaccessold and have a new one generated.