Support

Admin Tools

#40245 fatal error in IPDenyList.php

Posted in ‘Admin Tools for Joomla! 4 & 5’
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

Joomla! version
4.4
PHP version
8.1
Admin Tools version
7.4.8

Latest post by nicholas on Tuesday, 06 February 2024 03:16 CST

EIF

I am using a fatal error captcher plugin and noticed that I am getting several errors on IPDenyList.php.

As I can see it is blocking a specific ip number, which I have add to the IP deny list. So I assume it is working, but maybe there is an issue on your IPDenyList.php file as well.

 

 

Error message data:

E_ERROR:1 0: An empty key isn't allowed in file: /var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/plugins/system/admintools/src/Feature/IPDenyList.php line: 120

Backtrace:

/var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/plugins/system/admintools/src/Feature/IPDenyList.php:120

Standard Exception Backtrace with Args:

/var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/plugins/system/admintools/src/Extension/AdminTools.php:754

/var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/plugins/system/admintools/src/Extension/AdminTools.php:246 ("onAfterInitialise")

/var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/libraries/vendor/joomla/event/src/Dispatcher.php:486 (Joomla\Event\Event)

/var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/libraries/src/Application/EventAware.php:111 ("onAfterInitialise",Joomla\Event\Event)

/var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/libraries/src/Application/CMSApplication.php:745 ("onAfterInitialise")

/var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/libraries/src/Application/SiteApplication.php:635 (_)

/var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/libraries/src/Application/SiteApplication.php:226

/var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/libraries/src/Application/CMSApplication.php:293

/var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/includes/app.php:61

/var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/index.php:32 ("/var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/includes/app.php")

Standard Backtrace:

/var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/plugins/system/fatal_catcher/fatal_catcher.php 639 /var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/plugins/system/fatal_catcher/fatal_catcher.php 201 /var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/libraries/src/Plugin/CMSPlugin.php 289 /var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/libraries/vendor/joomla/event/src/Dispatcher.php 486 /var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/libraries/src/Application/EventAware.php 111 /var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/libraries/src/Application/CMSApplication.php 320 /var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/includes/app.php 61 /var/www/vhosts/waterpijp-bong.nl/domains/waterpijp-bong.nl/public_html/index.php 32

nicholas
Akeeba Staff
Manager

If you would bother reading the code you will see that once an IP is blocked, we raise an Exception with the custom IP block message you have configured in the Configure WAF page and the error code 403. This is handled by Joomla's error handler, displaying your site's error page to the visitor.

Therefore there is no error here. It is supposed to raise an exception. That's the ONLY way to display an error page in Joomla! since JError was removed in Joomla! 4.0.

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!

EIF

Thank you for clearing this up.

nicholas
Akeeba Staff
Manager

No worries!

Just keep in mind, all plugins which catch errors do so by hooking into Joomla's PHP exceptions handler. We have the same thing in Admin Tools, too. These are useful in identifying issues you were not aware of, or cannot reliably reproduce on your site BUT you need to have a developer look at them to figure out which are issues and which are legitimate errors that should indeed result in an error page.

I am pretty sure that within a few months you will see a few exceptions coming from Joomla's com_content. If you use our exceptions report by email feature we also dump the request and session. In there, you will see that someone tries to pass invalid data directly to Joomla! in an attempts to probe for a vulnerability, therefore Joomla! is supposed to display an error page. In my experience, you will see one of these probes every 6 to 12 months. I am telling you in advance so you don't freak out, thinking Joomla! is broken when you see that :)

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!

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!