Maybe another suggestion: create the option to sort/filter the Exception Log for "already on the blacklist" and "not on the blacklist".
This is the primary reason why bulk blacklisting cannot be implemented. In order to determine which IP is blacklisted we have to run the blacklist filtering against each and every IP. If you have a log table with 300,000 rows that would take about an hour to determine. Forgetting the obvious issue of PHP timeouts which would result in blank pages / 500 errors in the log view, this would mean that clicking on that drop down would require your server to work on 100% CPU usage for one hour before displaying the page. That's what I call Terribly Bad Idea(tm).
As I said, this is also the reason why mass blacklisting cannot work. We'd have to put each selected IP through the same process, each time loading the entire blacklist to memory from scratch (to make sure double entries are not permitted). Selecting over 4-5 IPs would probably cause timeout issues with unexpected results.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!