Κατακτήστε το νόμο για τα cookie με το ExpressionEngine

Συγγραφέας: Monica Porter
Ημερομηνία Δημιουργίας: 14 Μάρτιος 2021
Ημερομηνία Ενημέρωσης: 16 Ενδέχεται 2024
Anonim
Κατακτήστε το νόμο για τα cookie με το ExpressionEngine - Δημιουργικός
Κατακτήστε το νόμο για τα cookie με το ExpressionEngine - Δημιουργικός

Περιεχόμενο

Τα μπισκότα είναι νόστιμα. Επομένως, είναι κατανοητό γιατί το ExpressionEngine τους αρέσει να τα καταναλώνει: από το να θυμάστε την τελευταία σας επίσκεψη, να παρακολουθείτε πού βρίσκεστε, να θυμάστε το καλάθι αγορών σας ή αν είστε συνδεδεμένοι - είναι απλά βολικοί.

Ωστόσο, όπου αρχίζει να καταρρέει (δεν χάνω αυτό το ίχνος των παν - συνηθίζω), είναι για ιστότοπους που δεν μπορούν να περάσουν χωρίς να λειτουργούν χωρίς cookie και να τρέχουν με βάση «σιωπηρή συγκατάθεση» απλά δεν δεν θα το κόψω.

Είναι πλέον ευρέως αποδεκτό ότι οι ιστότοποι που χρειάζονται cookie για να λειτουργήσουν δεν χρειάζονται συμμετοχή για αυτήν τη λειτουργικότητα. ίσως το πιο κοινό παράδειγμα αυτού είναι ένα καλάθι αγορών. Λοιπόν, όλα είναι καλά και καλά, αλλά τι γίνεται αν ο ιστότοπός σας χρησιμοποιεί επίσης cookie τρίτου μέρους που προβάλλονται από το Google Analytics, διαφημίσεις και ακόμη και κουμπιά Twitter, Facebook και Google+; Είναι αναμφισβήτητα μη ουσιώδες και επειδή είναι τρίτοι, η σιωπηρή συγκατάθεση μπορεί να μην είναι αρκετή.

Εδώ θα υπάρχουν διαφορετικές σχολές σκέψης. Αλλά για αυτό το άρθρο θα κάνω το επιχείρημα ότι αν θέλουμε cookie για άλλα πράγματα όπως το Google Analytics, την προβολή διαφημίσεων, τη δοκιμή A / B και τα αμέτρητα άλλα πράγματα που μπορεί να θέλετε να κάνετε στην ΕΕ, τότε μπορούμε επίσης να έχεις ένα μεμονωμένο μήνυμα που να το καλύπτει όλα με μία κίνηση.


Αρθρωτή προσέγγιση

Το ExpressionEngine είναι ολοένα και πιο αρθρωτό: αποτελεί επίκεντρο του EllisLab εδώ και αρκετό καιρό. Γενικά υιοθετούν την προσέγγιση ότι εάν δεν μπορούν να δημιουργήσουν μια νέα λειτουργία πρώτου μέρους με το API, θα την προσθέσουν πρώτα στο API.

Αυτή η προσέγγιση σημαίνει ότι για κάποιο διάστημα η ΕΕ είχε μια μέθοδο "Set Cookie" στο API - η οποία, με τη σειρά της, σημαίνει ότι η συντριπτική πλειονότητα των πρόσθετων τρίτων μερών το χρησιμοποιούν (εκείνοι που δεν το κάνουν λάθος! )

Εξαιτίας αυτού, το EllisLab μπόρεσε να τροποποιήσει τον τρόπο με τον οποίο ρυθμίζονται τα cookie - και από το ExpressionEngine 2.5 (τώρα διαθέσιμο ως δωρεάν αναβάθμιση για υπάρχοντες πελάτες 2.x) μπορείτε να ενεργοποιήσετε μια δωρεάν «Cookie Consent Module», η οποία απορρίπτει πρόσθετα αιτήματα για ορισμό cookie, εκτός εάν ο χρήστης συμφωνήσει.

Τεχνική εγκατάσταση

Πρώτα απ 'όλα, βεβαιωθείτε ότι ο ιστότοπός σας ExpressionEngine χρησιμοποιεί τουλάχιστον την έκδοση 2.5.0. η ενότητα δεν είναι συμβατή με παλαιότερες εκδόσεις λόγω αλλαγών στον πυρήνα που το κατέστησε δυνατό.

Μόλις εγκατασταθεί, μην ανησυχείτε ότι δεν μπορείτε να βρείτε τη μονάδα στον πίνακα ελέγχου σας - δεν διανέμεται στην πραγματικότητα στο ExpressionEngine. Αντ 'αυτού, είναι διαθέσιμο από τη σελίδα πρόσθετων πρώτων.


Απλώς ανεβάστε τα αρχεία στο / system / expressengine / Third_party / / σύστημα και ενεργοποιήστε τη νέα σας ενότητα από τον πίνακα διαχείρισης, Πρόσθετα> Ενότητες.

Αυτό είναι! Τώρα έχετε κάνει την τεχνική εγκατάσταση. Προς το σχεδιασμό…

Σχεδιασμός εγκατάστασης

Φυσικά, ο σχεδιασμός για τη συναίνεση των cookie θα διαφέρει ανάλογα με τον ιστότοπο. τόσο από οπτική όσο και από γλωσσική άποψη για να μεταφέρει τον λόγο στο κοινό. Για παράδειγμα, ενώ ένας κυβερνητικός ιστότοπος μπορεί να ακολουθήσει μια επίσημη διαδρομή, ο ιστότοπος μιας παιδικής τηλεοπτικής εκπομπής μπορεί να στείλει το μήνυμα ως "Πιάσε τους γονείς σου ...".

Η ενότητα συναίνεσης cookie της ExpressionEngine υιοθετεί την ίδια μηχανή templating που χρησιμοποιείται για τον υπόλοιπο ιστότοπό σας, επομένως η εφαρμογή είναι απλή και ευέλικτη.

Η δυσκολία, φυσικά, το κάνει να μην αισθάνεται σαν λάθος. Εάν ο χρήστης πιστεύει ότι είναι σπασμένο, θα φύγει.


  1. Εάν ζητάμε τη συγκατάθεση ούτως ή άλλως, έχουμε έναν καλό λόγο να χρησιμοποιούμε cookie. Εξηγήστε το στον χρήστη όσο το δυνατόν πιο σύντομα και συνδέστε τον με την πλήρη λίστα των cookies που χρησιμοποιεί ο ιστότοπός σας (όπως υπαγορεύεται από το νόμο).
  2. Αποφύγετε τα κόκκινα χρώματα - αυτό ενθαρρύνει την υπόθεση ότι κάτι δεν πάει καλά
  3. Κάντε το μήνυμα να ξεχωρίζει - εσείς θέλω τη συγκατάθεσή τους.
  4. Ωστόσο, ταιριάζει στον ιστότοπο. Μην προσπαθήσετε να μιμηθείτε ένα εγγενές μήνυμα προγράμματος περιήγησης ή να αποκρύψετε ολόκληρη τη σελίδα.

Η ύπαρξη ιμάντα στην κορυφή ενός ιστότοπου που ζητά άδεια φαίνεται να είναι ο προτιμώμενος τρόπος για την εφαρμογή της συγκατάθεσης cookie. Το BBC, το ICO και το Channel 4 χρησιμοποιούν αυτήν την τεχνική. δεν αποσπά την προσοχή από τον λόγο που βρίσκονται στον ιστότοπο (το περιεχόμενο), αλλά είναι αρκετά εμφανές για να θέλουν οι χρήστες να κάνουν κλικ σε αυτόν - ακόμα κι αν ο λόγος είναι απλώς να το εξαφανίσει!


Η εφαρμογή μιας τέτοιας μπάρας είναι απίστευτα απλή. Μέσα στο πρότυπό σας, το οποίο πιθανότατα θα είναι η κεφαλίδα σας ή απλά προσθέστε (και τροποποιήστε) τα ακόλουθα:

{exp: cookie_consent: message} {if cookies_allowed! = "yes"} div id = "cookie-message"> h4> {site_name} χρησιμοποιεί cookie για να βελτιώσει την εμπειρία σας ... / h4> p> Τα cookie είναι μικρά αρχεία κειμένου που αποθηκεύονται με ασφάλεια στον υπολογιστή σας. Επιτρέπουν στους ιστότοπους να κάνουν έξυπνα πράγματα όπως να θυμάστε αν έχετε ζητήσει να παραμείνετε συνδεδεμένοι ή ό, τι έχετε στο καλάθι αγορών σας. Χρησιμοποιούμε επίσης cookie για να μάθουμε πώς χρησιμοποιούν οι χρήστες αυτόν τον ιστότοπο, ώστε να μπορούμε να το κάνουμε ακόμη καλύτερο στο μέλλον. Αυτά τα cookie δεν περιέχουν προσωπικές ή ευαίσθητες πληροφορίες και χρησιμοποιούνται μόνο από τον ιστότοπο {site_name} και τους αξιόπιστους συνεργάτες μας, όπως το Facebook και το Google. a href = "{cookies_allowed_link}"> Αποδοχή και κλείσιμο αυτού του μηνύματος / a> / p> / div> {/ if} {/ exp: cookie_consent: message}

Ας το σπάσουμε λοιπόν. Πρώτα απ 'όλα, θέλουμε να φορτώσουμε τη νέα ενότητα συναίνεσης cookie. Μέσα σε αυτό υπάρχει μια εύχρηστη μεταβλητή {cookies_allowed}, το οποίο είναι ένα απλό Boolean που μας λέει, απλά, αν ο χρήστης μας έχει δώσει άδεια να χρησιμοποιήσουμε cookies ή όχι.


Χρησιμοποιώντας αυτό, μπορούμε γρήγορα να εντοπίσουμε ότι ο χρήστης δεν μας έχει ακόμη δώσει άδεια και να παραδώσει κάποιο πρόσθετο HTML. Πολύ απλά έχουμε ένα overlay div που προσθέτει το αχνό φόντο και μέσα σε αυτό το ίδιο το μήνυμα.

Τέλος, θέλετε να δώσετε στον χρήστη την ευκαιρία να διαγράψει τα cookie και να απορρίψει τα μελλοντικά cookie που αποθηκεύονται. Γι 'αυτό, χρησιμοποιούμε ξανά την εμπιστοσύνη if-statement, αλλά αυτή τη φορά το αντιστρέφουμε - γι' αυτό κάνουμε ουσιαστικά, "εάν τα cookie έχουν γίνει αποδεκτά, ας δείξουμε έναν σύνδεσμο για να τα απενεργοποιήσουμε".

{exp: cookie_consent: message} {if cookies_allowed == 'yes'} a href = "{clear_ee_cookies_link}"> Ξεχάστε τα cookie μου και μην αποθηκεύω πλέον ... / a> {/ if} {/ exp: cookie_consent :μήνυμα}

Και με αυτό, τελειώσατε με μια βασική εφαρμογή της ενότητας συναίνεσης cookie.

Αδυναμίες και υπερνίκηση τους

Η λειτουργική μονάδα Cookie Consent λειτουργεί μόνο εάν το cookie έχει ρυθμιστεί χρησιμοποιώντας το ExpressionEngine API. Τα εξωτερικά cookie, όπως αυτά που ορίζονται στο JavaScript (για παράδειγμα το Google Analytics) δεν τηρούν την απόφαση του χρήστη εδώ. Ένας τρόπος για να λύσετε αυτό είναι να τυλίξετε το εν λόγω JavaScript σε αυτό:


{exp: cookie_consent: message} {if cookies_allowed == «ναι»} {/ if} {/ exp: cookie_consent: message}

Με αυτόν τον τρόπο, θα αποδίδει μόνο όταν οι χρήστες δώσουν άδεια στο ExpressionEngine (άρα στον ιστότοπό σας). Φυσικά, θα χρειαστείτε ακόμα έναν τρόπο για να αφαιρέσετε τα cookie που ορίζει η Google. ένας πιθανός τρόπος είναι να εκτελέσετε κάποια JavaScript στα μηνύματα συστήματος "Τα cookie διαγράφονται" ... μιλάμε για τα οποία, μισώ το σύστημα "Μηνύματα χρήστη" ExpressionEngine.

Νομίζω ότι είναι εγγενώς άσχημα και απομακρύνουν τους χρήστες από το γενικό στυλ του ιστότοπού σας. Δυστυχώς, η ενότητα χρησιμοποιεί αυτά τα μηνύματα συστήματος για να πει με υπερηφάνεια στον χρήστη για περίπου πέντε δευτερόλεπτα «Τα cookies έχουν γίνει αποδεκτά». Ενώ αυτά είναι χαλαρά σχηματοποιήσιμα, πέφτουν έξω από το σύστημα προτύπων του ExpressionEngine και όπως συνήθως μοιάζουν με μηνύματα σφάλματος - προσθήκες όπως devot-ee.com/add-ons/custom-system-messages θα επιτρέψει την περαιτέρω ενοποίηση ιστότοπων.

Ένα εναλλακτικό κόλπο που έχω χρησιμοποιήσει σε μία ή δύο εκδόσεις χρησιμοποιώντας αυτήν τη λειτουργική μονάδα είναι να στείλω ένα αίτημα jQuery POST στη διεύθυνση URL "Αποδέχομαι" - χρησιμοποιώντας αυτήν τη μέθοδο μπορείτε να παρακάμψετε τις οθόνες συστήματος και να επιλέξετε να εμφανίσετε τη δική σας, καλά σχεδιασμένη, ευχαριστώ μήνυμα.

Ο απώτερος στόχος μου είναι να κάνω ιστότοπους να ζητούν cookie μόνο όταν το χρειάζονται για πρώτη φορά. Είναι ένα δίκοπο σπαθί, επειδή το Google Analytics είναι φυσικά πολύτιμο, γι 'αυτό θέλω πραγματικά τη συναίνεση εντός του πρώτου δευτερολέπτου από αυτούς που επισκέπτονται τον ιστότοπο - αλλά έχω την αίσθηση ότι αυτό μπορεί να μην λειτουργεί τόσο καλά. Ίσως λοιπόν να είμαστε λίγο πιο έξυπνοι γι 'αυτό (χωρίς να είμαστε πάρα πολύ σαν τον Clippy από το Office):


  • "Για να προσθέσετε αυτό το προϊόν στο καλάθι σας - κάντε κλικ εδώ για να αποδεχτείτε τα cookies"
  • «Εάν συνδεθείτε στον ιστότοπο, συμφωνείτε ότι μπορούμε να αποθηκεύσουμε cookies στον υπολογιστή σας»

Τέλος, αυτός ο νόμος είναι συγκεκριμένος στην ΕΕ - και ακόμη και τότε διαφέρει ελαφρώς από χώρα σε χώρα. Τελικά θα θέλαμε να το δούμε έτσι ώστε η συμπεριφορά της λειτουργικής μονάδας να αλλάζει με βάση την τοποθεσία του χρήστη χρησιμοποιώντας την ενσωματωμένη ενότητα "IP to Nation". Αυτό δεν είναι ακόμη δυνατό. Αλλά είναι επίσης πρώτες μέρες.

συμπέρασμα

Παρόλο που μπορούμε να διαμαρτυρηθούμε για το νόμο, δεν μπορούμε πραγματικά για τη βοήθεια που μας έδωσε η EllisLab για να συμμορφωθούμε με αυτήν. Η υπεύθυνη προσέγγιση που ακολουθεί η εταιρεία διασφαλίζει ότι το CMS μπορεί να συνεχίσει να χρησιμοποιείται σε χώρες της ΕΕ χωρίς hacks ή (δυνητικά δαπανηρές) λύσεις.

Η εφαρμογή είναι επίσης απλή. Θα πρέπει να διαρκέσει λιγότερο από μισή ώρα σε μια εγκατάσταση 2,5 - και ενώ ο νόμος απαιτεί λίγο περισσότερο από αυτό, καλύπτει τη μεγαλύτερη τεχνική πτυχή του προβλήματος.

Βεβαιωθείτε Ότι Έχετε Κοιτάξει
Να κάνουμε το WordPress να παίζει ωραία με αποκριτικές εικόνες
Ανάγνωση

Να κάνουμε το WordPress να παίζει ωραία με αποκριτικές εικόνες

Απαιτείται γνώση: Βασικά PHP και C Απαιτεί: Εγκατάσταση WordPre , επιλογή κειμένουΏρα έργου: 10 λεπτάΕάν εγγραφείτε στην έντυπη έκδοση του περιοδικού .net (αν όχι, γιατί όχι !?), θα έχετε δει ότι το τ...
5 νομικοί όροι που κάθε σχεδιαστής πρέπει να γνωρίζει
Ανάγνωση

5 νομικοί όροι που κάθε σχεδιαστής πρέπει να γνωρίζει

Είτε πρόκειται για γραφιστική, διαδικτυακή σχεδίαση ή τρισδιάστατη τέχνη, πρέπει να προστατευτείτε. Για να αποτρέψετε το έργο σας από την ενεργοποίηση νομικής δράσης, καλλιτέχνες όλων των τύπων (και σ...
10 πιο μισητά λογότυπα (και τι μας διδάσκουν)
Ανάγνωση

10 πιο μισητά λογότυπα (και τι μας διδάσκουν)

Ένα από τα καθοριστικά χαρακτηριστικά της καθιέρωσης επωνυμίας κατά την τελευταία δεκαετία είναι η ελευθερία που δίνει στα μέσα κοινωνικής δικτύωσης για οποιονδήποτε να ξεκινήσει μια άμεση προσωπική κ...