Την περασμένη εβδομάδα δημοσιευθηκε online μια ευπάθεια σε επιθέσεις σε κάποιες παλαιότερες εκδόσεις του συστήματος διαχείρισης περιεχομένου Joomla (CMS), μιας δημοφιλούς εφαρμογής στο διαδίκτυο για την κατασκευή και τη διαχείριση ιστότοπων - ιστοσελίδων.
Η ευπάθεια ανακαλύφθηκε από τον Ιταλό ερευνητή ασφάλειας Alessandro Groppo της Hacktive Security και αφορά όλες τις εκδόσεις του Joomla από 3.0.0 έως 3.4.6, που κυκλοφόρησαν από τα τέλη Σεπτεμβρίου 2012 έως τα μέσα Δεκεμβρίου του 2015.
Η απόδειξη του κώδικας εκμετάλλευση της ευπάθειας έχει δημοσιευθεί ηλεκτρονικά.
Είναι μια ένεση αντικειμένου PHP που μπορεί να οδηγήσει σε απομακρυσμένη εκτέλεση κώδικα (RCE) κάτω από ορισμένα σενάρια. Για παράδειγμα, μπορεί να αξιοποιηθεί μέσω της φόρμας σύνδεσης του Joomla CMS και μπορεί να επιτρέψει στους επιτιθέμενους να εκτελέσουν κώδικα στον υποκείμενο διακομιστή του ιστότοπου.
Η ενημέρωση σε οποιαδήποτε έκδοση του Joomla 3.4.7 ή νεότερη θα αποτρέψει τις επιθέσεις. Η τρέχουσα έκδοση του Joomla σήμερα είναι η 3.9.12.
Περισσότερες πληροφορίες σχετικά, στο Zero-day published for old Joomla CMS versions
Το Flat Design εμφανίστηκε πρώτη φορά το 2010, αλλά απέκτησε μεγάλη δυναμική και ξεκίνησε να χρησιμοποιείται κατά κόρων στη σχεδίαση ιστοσελίδων από το 2013 και μετά. Και ενώ οι περισσότεροι περίμεναν ότι το Flat Design θα είχε φύγει πλέον από το προσκήνιο, όπως έχει γίνει με αρκετές άλλες σχεδιαστικές τάσεις στο παρελθόν, το Flat Design είναι ακόμα παρόν, εξελίσσεται και βελτιώνεται συνεχώς, και είναι ίσως το πιο πολυσυζητημένο web design trend.
To Flat Design είναι μία μινιμαλιστική σχεδιαστική προσέγγιση που δίνει έμφαση στη χρηστικότητα. Για αυτόν ακριβώς το λόγο δεν χρησιμοποιεί πολύπλοκα διακοσμητικά στοιχεία στη σχεδίαση ή διάφορα στοιχεία που δεν εξυπηρετούν κανένα απολύτως σκοπό, και αποσπούν άσκοπα την προσοχή του χρήστη. Το Flat Design χαρακτηρίζεται από καθαρότητα στη σχεδίαση, αρκετό κενό χώρο, φωτεινά χρώματα με μεγάλη αντίθεση και καθαρά γραφικά.
Αντοχή στο χρόνο και εξέλιξη
Η αντοχή του στο χρόνο βασίζεται κυρίως στην απλότητα που το χαρακτηρίζει. Στην περίπτωση της flat σχεδίασης, οι web designers δεν δημιουργούν πολύπλοκα γραφικά για να αναδείξουν το ταλέντο τους, δημιουργούν γραφικά για να βελτιώσουν το User Experience. Και στους χρήστες αρέσει πολύ αυτό. Επίσης, το flat design αρέσει και στους developers αφού βοηθά αρκετά στην ανάπτυξη ιστοσελίδων, καθώς είναι «συμβατό» με frameworks και interfaces της εποχής (responsive design). Και ας μην ξεχνάμε ότι υιοθετήθηκε από τους καλύτερους. Όταν η Apple (iOS 7) και η Microsoft (Windows 8) σχεδιάζουν το UI των λειτουργικών τους συστημάτων βασιζόμενοι σε ένα σχεδιαστικό trend, ο υπόλοιπος κόσμος ακολουθεί!
Παρόλο που το Flat Design κέρδισε την κοινότητα των σχεδιαστών πάρα πολύ γρήγορα, η εξέλιξη του είναι αργή αλλά σταθερή. Σήμερα, η επίπεδή σχεδίαση έχει εμπλουτιστεί με ελαφρές διακοσμητικές πινελιές. Τα περισσότερα παραδείγματα Flat Design του παρόντος χρησιμοποιούν σκιές και χρώματα που δεν «υπακούουν» στους κανόνες της συγκεκριμένης τάσης και γραμματοσειρές που ξεπερνούν τα όρια της αρχικής επίπεδης σχεδίασης. Και αυτή του η εξέλιξη, είναι και ο βασικός λόγος που έχει υιοθετηθεί τόσο πολύ από πολλούς web designers και εξελίσσεται προς το καλύτερο και σε διαφορετικά πρότυπα σχεδιασμού.
Το responsive design είναι μια σειρά από τεχνικές που επιτρέπουν στις ιστοσελίδες, να προσαρμόζονται δυναμικά «on the fly» (άμεσα) σε κάθε διάσταση(size) και προσανατολισμό (orientation) οθόνης, και κατά συνέπεια σε όλες τις φορητές συσκευές (smartphones, tablets κ.α.) .
Αξίζει να προσέξουμε τα εξής:
Αυτό που «προσαρμόζεται δυναμικά» δεν είναι απλά το πλάτος του περιεχομένου. Στο responsive design μπορούμε να αλλάξουμε εντελώς τη δομή, το layout, τις εικόνες, το μέγεθος των γραμματοσειρών και φυσικά το περιεχόμενο της σελίδας, δίνοντας στο site μας τη δυνατότητα να προσαρμόζεται σε κάθε διάσταση οθόνης, αλλάζοντας ακόμα και δομικά στοιχεία του, έτσι ώστε ο χρήστης να βλέπει πάντα την καταλληλότερη έκδοση για τη συσκευή που χρησιμοποιεί.
Η προσαρμογή των responsive sites γίνεται με βάση την ανάλυση της οθόνης του χρήστη. Όταν το site εμφανιστεί στην οθόνη μικρής ανάλυσης ενός κινητού, ο χρήστης θα δει την αντίστοιχη έκδοση του. Το ίδιο θα συμβεί αν το site εμφανιστεί στην οθόνη ενός tablet ή στην οθόνη ενός mini laptop κ.ο.κ. Το ότι η τεχνική του responsive design ανιχνεύει την ανάλυση οθόνης και όχι την συσκευή, σημαίνει πως sites που κατασκευάζονται με αυτή την τεχνική, έχουν τη δυνατότητα να προσαρμόζονται και σε μεγαλύτερες οθόνες όπως π.χ. οθόνες μεγάλης ανάλυσης των desktop PCs.
To responsive design, εκτός από την ανάλυση λαμβάνει υπόψιν του και τον προσανατολισμό, το orientation. Έτσι, όταν π.χ. κρατάμε ένα tablet οριζόντια δηλαδή σε landscape μπορούμε να έχουμε άλλη εμφάνιση της σελίδας από ό,τι όταν το κρατάμε κάθετα, δηλαδή σε portrait. Το ίδιο ισχύει φυσικά και με τα κινητά τηλέφωνα.
Ένα responsive design site μπορεί να προσαρμόζεται δυναμικά και on the fly. Αυτό σημαίνει ότι η αλλαγή εμφάνισης γίνεται στο front end, στον ίδιο τον browser του χρήστη με αποτέλεσμα ο χρήστης να έχει τη δυνατότητα να δει άμεσα αυτή την αλλαγή όταν π.χ. αλλάζει το orientation της συσκευής του από landscape σε portrait. Αυτό το ίδιο στοιχείο είναι που επιτρέπει στα responsive sites να αλλάζουν δυναμικά όταν ο χρήστης μικρύνει με το ποντίκι του το μέγεθος του παράθυρου του browser του. Τότε θα δει τη σελίδα να μεταμορφώνεται δυναμικά μπροστά στα μάτια του.
Πλεονεκτήματα:
1. Γιατί να στραφεί τελικά κανείς στο responsive design; Γιατί να επιλέξει κανείς μία πιο περίπλοκη και τεχνικά απαιτητική λύση για το site του;
2. Βελτιωμένο user experience (UX): Ο βασικός λόγος είναι φυσικά η παροχή ενός θετικού user experience στους χρήστες ανεξαρτήτως μέσου και τρόπου πρόσβασης στη σελίδα μας.
3. Κόστος: Αν και ακριβότερο από ένα παραδοσιακό site, η λύση του responsive design ενδεχομένως είναι οικονομικότερη από το να προσπαθούσε κανείς να δημιουργήσει ξεχωριστές σελίδες και εφαρμογές για κάθε συσκευή.
4. Future-proof!: Ένα responsive site θα προσαρμοστεί σε οποιαδήποτε νέα συσκευή ή ανάλυση, η οποία μπορεί να μην είναι ακόμα διαθέσιμη και να μην γνωρίζουμε.
5. Συντήρηση: Η συντήρηση του περιεχομένου αλλά και η τεχνική συντήρηση είναι ευκολότερη, αφού μιλάμε για ένα site και όχι πολλαπλές διαφορετικές ιστοσελίδες.
Άρα:
Προσφέρουμε στο χρήστη με ένα όνομα, μια ενιαία εικόνα ανεξαρτήτως συσκευής, με ενιαίο σχεδιασμό και ένα περιεχόμενο.