Error Description

While saving a Joomla contribution, which includes PHP-Code and is interpreted via DirectPHP (a Joomla plugin), I get the message 403 Forbidden - You do not have permissions to access this document. Des Weiteren kommt diese Meldung bei Bearbeiten der Plugin-./p

Reason

The error is created by the webserver, which includes a Plesk management GUI with a activated web application firewall. While I am saving the contribution, there´s a match with the configured pattern and the result is the deny.

ModSecurity: Access denied with code 403 (phase 2).
...
[id "211230"]
...

[data "Matched Data: fgetc found within ARGS:jform[params][block_list]: basename, chgrp, chmod, chown, clearstatcache, copy, delete, dirname, disk_free_space, disk_total_space, diskfreespace, fclose, feof, fflush, fgetc, fgetcsv, fgets, fgetss, file_exists, file_get_contents, file_put_contents, file, fileatime, filectime, filegroup, fileinode, filemtime, fileowner, fileperms, filesize, filetype, flock, fnmatch, fopen, fpassthru, fputcsv, fputs, fread, fscanf, fseek, fstat, ftell, ftruncate, fwrite, glob, [uri "/administrator/index.php"]

Debugging / Workaround

As a workaround, I added two exceptions in the web application firewall. The Security-Rule-IDs, which are needed, are listet in the error protocol.

 
For my case the IDs are:
211230
211220

Error Description

While calling up my registration form from the Joomla Core via a mobile phone, the links have been placed in the right upper corner an on each othe

A screenshot of the problem:

Screenshot

Reason

The error is created from the CSS of my template. The links have the CSS-class modal, which defines a fixed position.

.modal
{
position: fixed;
top: 20px;
right: 20px;
left: 20px;
width: auto;
margin: 0;
}

Debugging/ Workaround

As a workaround the CSS-classes or links in context with the ID could be defined with the ID in your template / custom CSS. Regarding to this copy and paste the following code. This will overwrite poistion:fixed. In the following code, I decided to use the ID and the <a>-element, the Hyperlink-Tag.

#jform_profile_tos-lbl a, #jform_privacyconsent_privacy-lbl a
{
position:relative;
}

Error Description

The registration form of the joomla core shows the radio buttons on each other. In my case, it´s the privacy line of the website and the terms of use, which are defined by me.

A screenshot of the error:

Reason

The error is in the Bootstrap-CSS. It defines the radio buttons with the css class radio. In this one, the button is defined with a float:left and with a margin-left with -20px.

.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"]
{
float: left;
margin-left: -20px;
}

Debuggingn / Workaround

As a workaround the class of the radio buttons can be defined in your template / custom css. To do this, paste the following code in the css. The code overwrites float:none and the predefined margin. I have restricted the following code additionally to the ID jform_privacyconsent_privacy for the privacy line and jform_profile_tos for the terms of use. So that the code only take affect for a small scope.

 

#jform_privacyconsent_privacy input[type="radio"], #jform_profile_tos input[type="radio"]
{
float:none;
margin-left: 5px;
margin-right: 0px;
}

Error Description

The Joomla language switcher will not be displayed. There isn´t any dropdown, which allows to change the language. Moreover the language flag isn´t displayed in the menu tab:

 

Language Menu Before

Reason

The definiton of the standard for the corresponding menu page is missing.

A screenshot of the menu entry:

Language Content Before

Debugging

Click the star-symbol to select the default page. If the default page is defined, there will be a flag of the country in the menu tab next to the name.

Note: This have to be done for all other menus with different languages, too.

The result should be look like this:

Language Menu After

 

Language Content After

Error Description

While including the component "Create Privacy Request" in the new version of joomla, the privacy note (#modal-jform_consentbox) isn´t opening. The error only occures on my bought template. It doesn´t occure with the joomla standard templates.

Reason

The error is in the Bootstrap-CSS. The classes modal, hide und fade will be assigned to the modal form. The class hide defines the fade out of the element with the addendum important. While clicking the link, the css class "in" will be added and the style element will be changed from an additionally display:none to display:block. The display:block doesn´t take effect, because the display:none is defined with a high priority.

.hide
{
display: none !important;
}

Debugging / Workaround

As a workaround, the class "in" can be defined in your template / custom css. To do this, paste the following code in the css. This will overwrite the display:none, if you click on it. It will replaced throuth display:inline with a high priority. I restricted the following code with the ID modal-jform_consentbox, so that the effected scope is smaller.

#modal-jform_consentbox.in
{
display: inline !important;
}