JHtmlBehavior::keepalive()
and the stats system plugin have dependencies to com_ajax to utilize them to perform their functions without any checks as to whether the component is even enabled. It'd be equally bad if someone uninstalled it. Code depending on this component should check for its existence as an optional extension and gracefully fail if it is disabled/uninstalled or implement a fallback solution.
When com_ajax is disabled or uninstalled, code with dependencies to it should either gracefully fail with a clear warning or implement an alternative way to complete their actions.
If disabled, the stats plugin completely fails with no noticeable error to the user (the only indication of trouble is in the browser's dev console when you see the 404 for its com_ajax call). Likewise, if disabled, JHtmlBehavior::keepalive()
should not use com_ajax for its AJAX call.
As a non-protected extension, com_ajax can be freely uninstalled and disabled. Prior to 3.5, I had been disabling com_ajax on sites as it wasn't in use (as I do with all sites and core extensions that aren't in use on those sites). By protecting the extension, it prevents uninstallation or disabling it in the UI.
Category | ⇒ | Components |
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2016-06-01 05:02:29 |
Closed_By | ⇒ | zero-24 |
Closed_By | zero-24 | ⇒ | joomla-cms-bot |
Set to "closed" on behalf of @zero-24 by The JTracker Application at issues.joomla.org/joomla-cms/10700
Closing as we have a PR
Labels |
Added:
?
|
the easy way IMHO should be to protect the com_ajax see #10701