Admin Tools for WordPress

#32923 report for Security Exceptions Log

Posted in ‘Admin Tools for WordPress’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

WordPress version
PHP version
Admin Tools version

Latest post by on Wednesday, 17 June 2020 17:17 CDT

[email protected]
I've been using Admin Tools since it's release on Joomla years ago, which led me to purchase it to use on my WordPress sites.
Will you ever add reporting functionality, specifically for the Security Exceptions Log?
When a concerted campaign is being waged against a site, MANY security exceptions are logged with no way to easily print or generate a report.

Akeeba Staff

can you please describe me your use case?
Why you're looking for such feature and what you should use it for?

Davide Tampellini

Developer and Support Staff

๐Ÿ‡ฎ๐Ÿ‡นItalian: native ๐Ÿ‡ฌ๐Ÿ‡งEnglish: good โ€ข ๐Ÿ• My time zone is Europe / Rome (UTC +1)
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

[email protected]
Any time the US government becomes involved in an Internet security issue, they naturally request WAF logs. I've never seen any ability in Admin Tools to generate these. Currently the only method is to ponderously load page by page of security exceptions and print them to PDF. Very difficult and looks unprofessional. It would seem that a simple export of the logs to at least CSV format would make everyone's life much simpler.

Akeeba Staff
There's a reason why we didn't.

All security exceptions are stored in the #__admintools_log table. This table typically has thousands to hundreds of thousands of rows. Trying to load them all in memory and convert them to HTML has three important problems:

  1. Memory. You need enough memory to load all rows and the generated CSV or HTML report. At about 500 rows you are reaching the limit of most servers. At 5,000 rows you are definitely exceeding the default WordPress memory limit. Asking you to increase the PHP memory limit to 4GB to generate a report is unrealistic.
  2. Time. Generating the report would take so long it's not practical. Even if PHP doesn't time out the web server will.
  3. It's already in the database. The data you're looking for is already in the database and be exported a few thousand rows at a time as CSV through phpMyAdmin.

Regarding the last point, the only column that needs translation is "reason". This correlates with all the COM_ADMINTOOLS_LBL_SECURITYEXCEPTION_REASON_* language strings you can find in wp-content/plugins/admintoolswp/language/en-GB.ini. For example, if the reason reads admindir then the corresponding language string is COM_ADMINTOOLS_LBL_SECURITYEXCEPTION_REASON_ADMINDIR. You can create a short table in a second sheet and use VLOOKUP in Excel to create a translated version of that column in your report.

Moreover, you can very possibly use Excel to connect to your database directly and import the data into a worksheet. You can even apply Excel's automatic filters to sort and filter rows you want displayed in your report. Not to mention that Excel has nearly 40 years of formatting and print customization under its belt, something we can not realistically match.

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!

System Task
This ticket has been automatically closed. All tickets which have been inactive for a long time are automatically closed. If you believe that this ticket was closed in error, please contact us.