Σοβαρότητα: ΜεσαίαΥπεύθυνος: ΑνάπτυξηΧρόνος διόρθωσης: 30-90 min
Το CSP μπλοκάρει το banner συγκατάθεσης
Ενημερώστε το Content Security Policy ώστε το CMP script, τα styles ή οι iframe πόροι να μπορούν να φορτώσουν χωρίς να χαλαρώνει άσκοπα η ασφάλεια.
Καλύπτει: cmp_blocked_by_csp, consent_banner_csp_error
Γιατί έχει σημασία
Ένα αυστηρό CSP είναι καλή πρακτική ασφάλειας, αλλά αν μπλοκάρει το ίδιο το CMP, το site μπορεί να χάσει σιωπηλά ολόκληρο το consent layer του στην παραγωγή.
Πώς να το επαληθεύσετε χειροκίνητα
- Ανοίξτε την κονσόλα DevTools και αναζητήστε CSP violations γύρω από CMP assets.
- Ελέγξτε αν μπλοκάρονται το banner script, το CSS, το iframe ή τα API endpoints.
- Συγκρίνετε τη συμπεριφορά CSP σε local και production αν το πρόβλημα εμφανίζεται μόνο στην παραγωγή.
Τυπικές αιτίες
- Τα CMP domains δεν επιτρέπονται σε script-src, frame-src ή connect-src κανόνες.
- Οι nonce- ή hash-based CSP κανόνες δεν καλύπτουν το inline bootstrap code του CMP.
- Ένα deploy άλλαξε τα CSP headers χωρίς να επαναληφθεί validation των CMP dependencies.
Διόρθωση στο GTM
- Μην βασίζεστε στο GTM ως workaround αν τα ίδια τα CMP assets μπλοκάρονται από το CSP.
- Ελέγξτε αν CMP fallbacks που εισάγονται μέσω GTM παραβιάζουν τους ίδιους CSP κανόνες.
- Δοκιμάστε ξανά μετά από ενημέρωση των CSP headers στην παραγωγή.
Διόρθωση σε WordPress ή CMP plugins
- Ελέγξτε security plugins, hosting headers και CDN rules που εισάγουν CSP.
- Βάλτε σε whitelist μόνο τα CMP domains που πραγματικά χρησιμοποιεί το banner configuration.
- Δοκιμάστε ξανά με απενεργοποιημένο browser cache μετά από αλλαγές στα headers.
Γενική διόρθωση για developers
- Βάλτε σε whitelist μόνο τα ελάχιστα αναγκαία CMP origins για scripts, frames και API calls.
- Προτιμήστε στοχευμένες CSP updates αντί να αποδυναμώνετε ολόκληρη την policy.
- Κάντε versioning στους CSP κανόνες και δοκιμάζετε ξανά το banner σε κάθε αλλαγή.
Πώς να επιβεβαιώσετε ότι η διόρθωση λειτουργεί
- Επιβεβαιώστε ότι εξαφανίζονται τα CSP errors που σχετίζονται με CMP assets.
- Επιβεβαιώστε ότι το banner γίνεται render κανονικά και δέχεται user interaction.
- Τρέξτε νέο scan και ελέγξτε ότι το banner issue εξαφανίζεται.
Επόμενο βήμα
Εκτελέστε νέα σάρωση μετά το deploy για να επιβεβαιώσετε ότι άλλαξε η πραγματική συμπεριφορά runtime και όχι μόνο το κείμενο του banner.