
This module supports many features such as a whitelist allowing you to specify who can connect to your website with ban-free access (for example, administrators and well-behaved search engine robots.) It allows you to specify many timing intervals that are used to select how soon or late someone gets banned, and how long they stay banned.
In general, well behaved search engines and other robots observe proper protocol when they receive the 503 responses sent by this module. Non-compliant robots are simply banned.
As a pleasant side effect, this module protects your website from "brute force" log-in attacks. Whenever a black-hat party employs a robot to attempt to hack a website user account, they generally want the robot to hit the site as fast as possible. How long would such an attempt take? Let's take a look at an example:
It's safe to say that this makes for a very secure password, so you may think that there is no need to worry about these "brute force" log-in attacks. However, consider how much bandwidth these black hat robots will consume executing these attacks on your site. Why lose it to such robots? With the MO Anti-pounding module, you can very quickly block those attempts for seconds, hours or even days.
However, if the user instead chooses a dictionary word (or otherwise well known word) for his/her password, the game is quite different. The number of English words is very large, but for passwords, it is often viewed as limited to less than 100,000. At the speed of ten attempts per second, any such password can be cracked in three days maximum. Assuming the user adds the number "1" at the end of the password, the attempt increases to six days. So for the average user, in less than one week their account may be hacked3.
With MO Anti-pounding active on your server, those black hat robots that try to crack user passwords will be blocked for at least a whole day after just 30 attempts. In other words, those robots attempting to hack passwords would need to either accept the minimum time allowed between accesses (say one whole second, i.e. the hacking will take at least 10× times more in our example), or be blocked for so long that it will take them years to find the password (unless they are lucky, of course.)
By default, URLs that are used with AJAX (for features such as auto-complete) are put in the MO Anti-pounding URI white list. This list can be grown as required by the modules you use on your website. The following is a list of such modules that we use and had to authorize in the MO Anti-pounding module.
The Drupal chatroom module uses several AJAX features, two of which need to be listed in the MO Anti-pounding URL white list:
chatroomread.php chatroom/chat/post/message
The chatroomread.php is the URL that handles the chat message synchronization capability. The other one is used to post new messages. The other AJAX URI used by this module are already accepted by the default URI defined in the MO Anti-pounding module.