There are 4 lists. The Black list is one that you use to prevent comments from specific users.
The white list is one you use to prevent users from being banned.
The bad IP cache is a list of bad IP addresses that have failed a test and in the future will be banned.
The good IP list is a list of IP addresses that have passed all tests and are not tested in the future.
First I check for a good ip on the white list and if the user is there I stop checking.
Then the same for the good IP cache.
Then I check the Black list and the bad ip cache.
If you are on any of these lists there is no more checking and the reason for rejection is that the user was on a list of cached. The program doesn’t need to know why a person is on a list – he just is.
The logs will show why a person was put into a cache, but the log will roll off over in time and the initial reason for being in the cache is lost. The plugin doesn’t keep a reason why someone is cached.
It is done this way because checking everyone with all the check methods takes a few seconds – sometimes 10 or 15 seconds if the system is slow. The cache gives the plugin a fast way to approve or deny a user, but at the cost of not knowing the event that put the person on the cache in the first place.
Keith