Support

Admin Tools

#41010 Mobile devices cause Access Denied error - sometimes

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.6
PHP version
8.2.22
Admin Tools version
latest

Latest post by nicholas on Friday, 23 August 2024 03:14 CDT

marcw

Hello,

Hope you all had great vacations! I have a nagging problem no one seems to be able to help with. All is working on our site frontend except for some mobile device users who report getting an Access Denied error when accessing the site. In talking to our hosting company, they are scratching their heads even though Scala is very knowledgeable about Jooma sites. I have discovered that when we clear the cache from Admin, the problem disappears for a while, only to reappear later. All my testing is with guest users, and I have also discovered when the error message appears, if the mobile browser is changed to desktop mode, then access is granted.

If you have any insight into what could be causing this, it would be greatly appreciated, as others and I are stuck.  Thank you; as I understand, this may not even relate to Admin Tools,
marc

nicholas
Akeeba Staff
Manager

Yeah, I don't think it is related to Admin Tools but rather Joomla caching.

Go to System, Global Configuration, System. In the Cache area there's a “Platform Specific Caching” option. Set it to No and click on Save & Close.

If that helped, please tell me if you are also using the LiteSpeed Cache plugin. If my understanding is correct, the combination of these two mutually exclusive caching philosophies would very likely cause a problem similar to what you describe.

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!

marcw

Thank you so much. It is a real pleasure dealing with your company, as there is real support, which is sadly lacking with many these days. I don't use LiteSpeed Cache, and I have turned off the “Platform Specific Caching” option. I will get back to you if this solves the problem, but it might take a little while because it only happens 1-4 days after a cache clears, depending on mobile devices.

I have two other questions that I hate to ask because they are not related to any of your wonderful products, but desperation dictates. First, I have had a strange situation where some of our articles at Believer.com echo the "Error—Save failed with the following error:" but no error number, just a blank. Upon exiting and reloading the article, the changes are stored. Other articles and any new articles save fine with no errors. I have asked the Joomla forum, but no one has a solution. I have tried everything I can think of, including checking the database tables, and all seems well. The affected articles are very old and began "life" in Joomla 1.5, then migrated to all newer Joomla versions. I have reported this before in this forum, ran debugging, and checked the database tables for errors; under configuration, I told it to log everything with the settings on Maximum, but nothing has shown up. I have tried all other suggestions to no avail.

Have you ever heard of something like this, and where would you look to find the problem?

The last question is: It seems everyone has gone WordPress wild. Would you start looking to port sites from Joomla to WordPress, or do you think we are safe for years to come? I love Joomla and its community, but it seems support from hosting companies, etc., is beginning to disappear. If the trend continues, one positive is that there will be fewer bad actors trying to hack Jooma sites, kinda like Windows vs. Linux. I hope you tell me to stay the course, but I value your opinion and any guidance regarding this matter.

Thank you so much for your time and attention,

marc

nicholas
Akeeba Staff
Manager

First, I have had a strange situation where some of our articles at Believer.com echo the "Error—Save failed with the following error:" but no error number, just a blank. 

While this is impossible to accurately debug without having a copy of the site on a development server with a debugger attached, I can think of two reasons why this might be the case.

You said these are pretty old articles, coming from Joomla! 1.5. Many migration tools from that era missed the fact that all Joomla! articles need an asset record (a record in #__assets) and did not create one. This will, indeed, make the save fail. What you are doing with the double save does work.

Another possibility is that you have set up Workflows which somehow prevent saving articles. This could also be in combination with the previous issue, since Workflows need the asset record to operate.

Would you start looking to port sites from Joomla to WordPress, or do you think we are safe for years to come? 

Absolutely not.

To paraphrase Mark Twain, rumours of Joomla's death have been highly exaggerated. You know, I have been hearing that Joomla is dying and will cease to exist in a couple of years ever since 2006. Eighteen years later, Joomla! is still doing fine… and people still tell me that it will cease to exist in a couple of years.

You have to understand two things.

The first thing is that something being popular doesn't mean it's good. I always use McDonald's as an example. Insanely popular in the USA, but I would never call its food "good" as far as nutritious value, taste, or texture goes. I would always, one hundred percent go to a regular, sit-down restaurant which makes real food. Side note: don't take this as a European dissing the US, my wife's from the USA, and we do come to the USA as frequently as we come :)

The second thing is the "grass is always greener on the other side" fallacy. Some people had built terrible sites in Joomla!, using extensions which have long stopped being updated, and which were not ported to Joomla! 4, for good reason: Joomla!, especially since version 3.7, rendered many of them obsolete by providing very useful core features, the single most important one being Fields a.k.a. custom fields. These people realised that no matter what, they have to rebuild their sites. Which is where we get to the fallacy. They mistakenly think that using a different platform will "magically" make things easier and require less maintenance going forward, reducing the time and money they spend. Are they ever wrong…

There are a few reasons why life as a WordPress site owner isn't better than that of a Joomla! site's owner:

  • The “forever compatibility” myth pushed by WordPress is just that: a myth. Like all good myths it has a kernel of truth, embellished with brazen lies. Sure enough, the content will survive upgrades from one version of WordPress to the next – but so does Joomla's since Joomla! 2.5 was released twelve years ago. Plugins will mostly work, unless they are not updated for the changes in WordPress' API, or new PHP versions, or new features in WordPress – just like Joomla! extensions. And yeah, WordPress does make changes in its API, sometimes horribly breaking ones, worse than the worst Joomla! had ever done. If you don't believe me, read this: https://www.akeeba.com/news/1762-abwp-810-is-manual-update.html Can you believe that they made a change which would break plugin updates in such a way that addressing it would require time travel on the part of plugin developers? Me neither, but it did happen!
  • WordPress as a core product is very basic. You can't even configure email sending via SMTP. Everything you need requires a plugin. As a result, the myth that WordPress is fast is just that: a myth. WordPress without any plugins is actually twice as Joomla! 5.1 without extensions on the same server. Add plugins (which are loaded on every single page load, even if it's a backend only plugin like Akeeba Backup!) and WordPress is dog slow.
  • Which brings me to the fact that WordPress out of the box has no caching. You need to provide your own plugin for caching. The top caching plugins are at about the state of technology development Joomla's caching was when Joomla! 1.5 was released in 2007. If that seventeen year old technology sounds abysmal and slow, yes, it is.
  • People rave about the block editor, but it's just a page builder. Page builders let you create a visually interesting page really fast, but when you decide to change the layout (template / theme) of your site you need to go back and redo all content, making site maintenance a nightmare. Unlike Joomla where page builders are an optional, third party extra, WordPress' block editor is the ONLY content editor you get.
  • The block editor situation gets worse. It stores the block configuration data as JSON strings in HTML comments inline the content. Because of that, when block plugins are updated and this JSON content needs to be upgraded, upgrade is impossible without going through all the content, so it doesn't happen. When you try to display or edit the content with old, incompatible JSON data you get one of these problems: it reverts to plain HTML content, it reverts to an unconfigured block (loss of content), or it causes a PHP error. Which, of course, means that site maintenance now has to contend with a time bomb.
  • The cost of WordPress plugins is astronomical. It is usually charged per year, per site at prices which are three to five times more expensive than equivalent Joomla! extensions. To give you an idea, rebuilding our site in WordPress would cost well over 3000 Euros per year in plugin fees, and would have to forego half of the features we have built in. The equivalent price on Joomla! is a hair under 250 Euros per year, assuming that we'd be paying someone else for our own software used on our site.

The way I see it, WordPress sites are great if you want to cobble together a short-lived marketing site, or you have planned to throw away and rebuild the site in the next site refresh cycle 3-5 years into the future.

Which is exactly why all these people who went WordPress crazy back when Joomla! 2.5 went End of Life a decade ago came back to Joomla! three to five years later.

Now we have another wave of people who are going to WordPress seeing that their Joomla! 3 sites need to be rebuilt. They will be back in 3 to 5 years.

Besides, there's the elephant in the root nobody talks about: there is no alternative to Joomla!. On one end of the spectrum we have WordPress, WiX, SquareSpace etc which allow people with minimal to no experience in web development to create visually compelling sites, with all the drawbacks I mentioned. On the other end of the scale we have Drupal, Laravel, Symfony etc which allow hardcore backend developers to create insanely powerful applications. However, most people belong in the middle. What's in the middle? Joomla!. It sits alone on the island of "good enough". It's good enough that people with a moderate skill set can use it to create visually compelling sites, and good enough that developers can use it to create fairly powerful applications. It's good enough that you can purchase off the shelf software and templates to create this kind of sites with a slightly steeper learning curve than a point-and-click page builder, but without having to be a hardcore developer writing reams of PHP code. This is what most site integrators need.

And that's why I am sticking with Joomla! for my sites.

My only concern about CMS in general is that younger people (Gen Z) don't seem interested in web development like us Gen X / Millenials used to (I was born in 1981, on the cusp of both generations, I could be called either). This is a threat not just to every CMS out there, but the web in general. If there's one thing we all ought to do is get younger people interested in web development, because that's humanity's best solution to the age-long quest of sharing knowledge.

As we used to say in the old web, sorry for the long reply, here's a potato 🥔

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!

marcw

Thanks so much, Nicholas, for the great reply to my support questions.

First, I thought the “Platform Specific Caching” solved the "Access Denied" problem as my and other mobile devices that surfaced the problem worked fine, but then today there was an error not only on some mobile devices but on a Windows Chrome Desktop which has not happened in the past. These were, as usual, cleared when the system cache was cleared. It makes me think some bad actor or robot tries to gain access, and this gets caught in Cache, and then all like kind browsers get banned until Cache clears. I'm still at a loss on how to track it down and don't want to disable the cache unless there is no other choice.

I'm particularly grateful for your suggestion to check the #__assets or Workflows for the "Save" error. This was a unique solution that no one else had suggested, and I'm eager to see if it resolves the issue.

I was hoping for the answer you gave regarding WordPress. It was eloquent and detailed and expressed the philosophies I have embraced for many years with many products (thinking Windows and specific programming languages). I am older (born in 1953) and have been building systems and programming since 1981 and on the web since 1996, but I have so little time it seems I have not kept up with everything I should. This is why folks like you are such a blessing, as it's not like the old days, and many don't understand support or how things should be.

Thank you again for all that you do and the great products and services you bring to the Internet,
marc

nicholas
Akeeba Staff
Manager

Thank you for your kind words :)

Go to the Configure WAF page, Customisation. Check "Show errors using a customisable HTML template". When this is set to No, bot / malicious request blocking takes place by raising a PHP exception. This prevents Joomla from caching anything when the request is blocked by Admin Tools. Note that Joomla itself also raises exceptions when something suspicious is taking place, i.e. it won't cache anything. I just re-tested it to make sure I remember correctly; it seems that I do.

Since you are using Scala, try to NOT use the Litespeed Cache. I've seen many weird issues on different sites go away as soon as this cache was disabled across different hosts. 

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!