Support

Admin Tools

#22336 Security exception message in non English language

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
n/a
PHP version
n/a
Admin Tools version
n/a

Latest post by on Wednesday, 29 April 2015 17:20 CDT

user69434
 Hello Akeeba Support,

I have a problem with the Greek language.
In WAF I have filled in with messages using the Greek language the ‘Show this message to blocked IPs’ and the ‘Security exception message customisation’ ->‘Custom message’. But the characters don’t display properly, they are weird.

Could you please tell me what to do in order to resolve this issue?

Thank you very much in advance

nicholas
Akeeba Staff
Manager
Δεν είμαι σίγουρος γιατί συμβαίνει αυτό στο site σου. Δοκίμασα ένα μήνυμα σφάλματος με UTF-8 χαρακτήρες, με το "Show errors using a customisable HTML template" σε No (https://www.dropbox.com/s/5eyjb5u1e6ij3el/Screenshot%202015-03-25%2011.35.53.png?dl=0) και Yes (https://www.dropbox.com/s/uelnlh10ucgtmjd/Screenshot%202015-03-25%2011.36.18.png?dl=0) και λειτουργεί μια χαρά.

Αν σου βγάζει "κινέζικα" έχοντας θέσει το "Show errors using a customisable HTML template" σε Yes τότε ξέρω να σου πω τι συμβαίνει. Το template που δίνουμε στο components/com_admintools/views/blocks/tmpl/default.php δεν θέτει συγκεκριμένο character set, αφήνοντας τον server ή/και τον browser να θέσει την προτίμησή του. Προφανώς ο server σου στέλνει iso-8859-1 εξ ου και τα "κινέζικα". Μπορείς να κάνεις ένα template override.

Υποθέτοντας ότι το frontend template σου λέγεται mytemplate φτιάξε τον φάκελο templates/mytemplate/html/com_admintools/blocks και αντέγραψε το αρχείο components/com_admintools/views/blocks/tmpl/default.php σε αυτόν τον νέο φάκελο. Τώρα άνοιξε το αρχείο templates/mytemplate/html/com_admintools/blocks/default.php με έναν επεξεργαστή απλού κειμένου (π.χ. notepad) και μετά την γραμμή <head> πρόσθεσε την εξής γραμμή:
<meta charset="UTF-8">

Το μήνυμα λογικά θα εμφανίζεται τώρα σωστά.

ΠΡΟΣΟΧΗ: Αν έχεις θέσει το "Show errors using a customisable HTML template" σε No τότε το πρόβλημά σου είναι στο error.php αρχείο του template σου, π.χ. templates/mytemplate/error.php και δεν μπορούμε να κάνουμε τίποτε άλλο παρά να σου ζητήσουμε να επικοινωνήσεις με τον template developer και να τους ζητήσεις να θέσουν το charset σε UTF-8 σε αυτό το αρχείο.

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!

user69434
Καλημέρα,

ευχαριστω για την απάντηση.

To "Show errors using a customisable HTML template" είναι σε: 'Οχι και στο error.php έχει το παρακάτω:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

αλλά εμφανίζονται "κινέζικα".

Κάτι άλλο που παρατήρησα σε σύκριση με τα screenshots που μου έδειξες είναι οτι το μήνυμα δεν εμφανίζεται στην error σελίδα, αλλά μόνο του.

Υπάρχει κάποιος τρόπος να δώ την σελίδα με το μήνυμα εσκεμμένα;

Για το "Show this message to blocked IPs", ισχύουν τα ίδια;
Δηλαδή και αυτο επηρεάζεται απο την επιλογή "Show errors using a customisable HTML template" ή οχι;

Υπάρχει και για αυτό κάποιος τρόπος να δώ την σελίδα με το μήνυμα εσκεμμένα;

Ευχαριστώ

nicholas
Akeeba Staff
Manager
Στο screenshot απλά "έκοψα" την υπόλοιπη error.php σελίδα και εστίασα στο κείμενο του σφάλματος. Για την ακρίβεια η δοκιμή μου έγινε με το built in template Protostar.

Για να δεις την σελίδα σφάλματος εσκεμμένα μπορείς να κάνεις αυτό που κάνω κι εγώ:
  • Στο Admin Tools, Configure WAF πρόσθεσε το SQLiShield στο Do not log these reasons και στο Do not send email notifications for these reasons
  • Βεβαιώσου ότι η επιλογή SQLiShield protection against SQL injection attacks είναι Yes
  • Στο front-end πήγαινε στη διεύθυνση index.php?dummy=test%20UNION%20SELECT


Αυτό χτυπάει στο SQLi Shield και σε στέλνει στην σελίδα σφάλματος. Ο λόγος που το βάζεις στο do not log και do not send email notifications είναι για να μη σε μπλοκάρει και να μη σε πρήζει με emails κατά τη διάρκεια των δοκιμών.

Για το "Show this message to blocked IPs", ισχύουν τα ίδια;


Εχμ, όχι. Σε αυτή την περίπτωση πετάμε ένα string πίσω στον Apache και του λέμε "δείξ'το". Αυτό γίνεται για να μην σπαταλάμε resources ώστε να μην μπορείς να φας DoS κατά λάθος. Υποθέτω μπορείς να βάλεις ολόκληρη σελίδα σαν string εκεί μέσα π.χ.
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>Σφάλμα</title><body><h1>Σφάλμα</h1><p>Γράψε κάτι εδώ</p></body></html>


Το μόνο θέμα είναι ότι αυτή τη σελίδα δεν μπορείς να την δοκιμάσεις αν δεν μπλοκάρεις τον εαυτό σου (για την ακρίβεια, την IP σου) :(

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
system
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.

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!