{"id":167235,"date":"2025-04-07T09:00:00","date_gmt":"2025-04-07T09:00:00","guid":{"rendered":"https:\/\/gtechgroup.it\/blog\/really-simple-ssl-pro-content-security-policy\/"},"modified":"2026-05-30T10:00:00","modified_gmt":"2026-05-30T08:00:00","slug":"really-simple-ssl-pro-content-security-policy","status":"publish","type":"post","link":"https:\/\/gtechgroup.it\/blog\/really-simple-ssl-pro-content-security-policy\/","title":{"rendered":"Really Simple SSL Pro: Content Security Policy per WordPress"},"content":{"rendered":"<h2>Really Simple SSL Pro: Content Security Policy per WordPress<\/h2>\n<p>La <strong>Content Security Policy (CSP)<\/strong> \u00e8 considerata uno degli header di sicurezza pi\u00f9 potenti e complessi da implementare. Definisce esattamente quali risorse il browser \u00e8 autorizzato a caricare ed eseguire, rappresentando una barriera efficace contro attacchi XSS, injection di codice e data exfiltration. Really Simple SSL Pro offre un sistema guidato per implementare la CSP su WordPress senza dover scrivere regole manualmente. Vediamo come funziona e come configurarla correttamente.<\/p>\n<h3>Che Cos&#8217;\u00e8 la Content Security Policy<\/h3>\n<p>La Content Security Policy \u00e8 un header HTTP che dice al browser: &#8220;per questa pagina, puoi caricare script solo da queste origini, stili solo da queste origini, immagini solo da queste origini&#8221; e cos\u00ec via. Qualsiasi risorsa che non corrisponde alle regole definite nella CSP viene bloccata dal browser.<\/p>\n<p>Questo \u00e8 estremamente potente perch\u00e9, anche se un attaccante riesce a iniettare codice HTML nel tuo sito (ad esempio tramite un commento malevolo, un campo di input non sanitizzato o una vulnerabilit\u00e0 in un plugin), il browser rifiuter\u00e0 di eseguire lo script iniettato perch\u00e9 non proviene da un&#8217;origine autorizzata.<\/p>\n<p>Senza CSP, il browser esegue qualsiasi script presente nella pagina, indipendentemente dalla sua origine. Con CSP, il browser diventa selettivo e blocca tutto ci\u00f2 che non \u00e8 esplicitamente autorizzato.<\/p>\n<h3>Le Direttive Fondamentali della CSP<\/h3>\n<p>Una CSP \u00e8 composta da una serie di <em>direttive<\/em>, ciascuna delle quali controlla un tipo specifico di risorsa:<\/p>\n<p><strong>default-src<\/strong>: \u00e8 la direttiva di fallback. Se una direttiva specifica non \u00e8 definita, il browser usa default-src. Impostarla su <code>&#8217;self&#8217;<\/code> significa &#8220;per impostazione predefinita, carica solo risorse dal mio stesso dominio&#8221;.<\/p>\n<p><strong>script-src<\/strong>: controlla da dove possono essere caricati gli script JavaScript. \u00c8 la direttiva pi\u00f9 critica per la sicurezza, perch\u00e9 gli script malevoli sono il vettore principale degli attacchi XSS.<\/p>\n<p><strong>style-src<\/strong>: controlla da dove possono essere caricati i fogli di stile CSS. Molti plugin WordPress utilizzano stili inline, quindi potrebbe essere necessario aggiungere <code>&#8217;unsafe-inline&#8217;<\/code> per compatibilit\u00e0.<\/p>\n<p><strong>img-src<\/strong>: controlla da dove possono essere caricate le immagini. Se il tuo sito utilizza immagini da CDN, servizi esterni o Gravatar, devi aggiungere le relative origini.<\/p>\n<p><strong>font-src<\/strong>: controlla da dove possono essere caricati i font. Se utilizzi Google Fonts, devi autorizzare <code>fonts.gstatic.com<\/code>.<\/p>\n<p><strong>connect-src<\/strong>: controlla le connessioni di rete effettuate da JavaScript tramite fetch, XMLHttpRequest, WebSocket, ecc. Plugin come WooCommerce, editor real-time e chat widget necessitano di autorizzazioni specifiche qui.<\/p>\n<p><strong>frame-src<\/strong>: controlla quali siti possono essere caricati in iframe nella tua pagina. Se embed YouTube, Google Maps o altri widget, devi autorizzare i relativi domini.<\/p>\n<p><strong>form-action<\/strong>: controlla verso quali URL i form del tuo sito possono inviare dati. Utile per prevenire il dirottamento dei form verso siti malevoli.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/gtechgroup.it\/blog\/wp-content\/uploads\/2026\/05\/rssl-01-dashboard.png\" alt=\"Dashboard Really Simple SSL Pro con Content Security Policy\" \/><\/p>\n<h3>Il Problema della CSP con WordPress<\/h3>\n<p>Implementare una CSP su WordPress \u00e8 notoriamente complesso, e la ragione principale \u00e8 che WordPress e i suoi plugin fanno largo uso di <strong>JavaScript e CSS inline<\/strong>. Ogni volta che un plugin inserisce un tag <code>&lt;script&gt;<\/code> direttamente nell&#8217;HTML della pagina (invece di caricare un file .js esterno), una CSP restrittiva lo bloccherebbe.<\/p>\n<p>Per gestire gli script inline, la CSP offre diverse opzioni:<\/p>\n<ul>\n<li><strong>&#8217;unsafe-inline&#8217;<\/strong>: permette tutti gli script inline. Risolve il problema di compatibilit\u00e0 ma vanifica gran parte della protezione CSP contro XSS.<\/li>\n<li><strong>&#8217;nonce-{random}&#8217;<\/strong>: ogni script inline autorizzato riceve un token casuale (nonce) generato dal server ad ogni richiesta. Solo gli script con il nonce corretto vengono eseguiti. \u00c8 la soluzione pi\u00f9 sicura ma richiede che WordPress e tutti i plugin inseriscano il nonce nei loro script.<\/li>\n<li><strong>&#8217;strict-dynamic&#8217;<\/strong>: se uno script autorizzato (tramite nonce) carica altri script dinamicamente, anche quelli vengono autorizzati automaticamente. Semplifica la gestione degli script che caricano librerie a cascata.<\/li>\n<\/ul>\n<p>Really Simple SSL Pro implementa il sistema di <strong>nonce-based CSP<\/strong>, generando automaticamente un nonce per ogni pagina e applicandolo agli script inline di WordPress. Questo offre un ottimo compromesso tra sicurezza e compatibilit\u00e0.<\/p>\n<h3>Configurare la CSP con Really Simple SSL Pro: la Modalit\u00e0 Learning<\/h3>\n<p>Una delle funzionalit\u00e0 pi\u00f9 utili di Really Simple SSL Pro \u00e8 la <strong>modalit\u00e0 Learning<\/strong> (apprendimento) per la CSP. Ecco come funziona:<\/p>\n<p><strong>Passo 1 \u2014 Attiva la modalit\u00e0 Learning<\/strong>: nella dashboard di Really Simple SSL, vai alla sezione Content Security Policy e attiva la modalit\u00e0 di apprendimento. In questa modalit\u00e0, il plugin invia la CSP con la direttiva <code>Content-Security-Policy-Report-Only<\/code> invece di <code>Content-Security-Policy<\/code>. Questo significa che il browser <em>segnala<\/em> le violazioni senza <em>bloccare<\/em> nulla.<\/p>\n<p><strong>Passo 2 \u2014 Naviga il sito<\/strong>: visita le diverse pagine del tuo sito, inclusa l&#8217;area di amministrazione, le pagine con form, il carrello WooCommerce (se presente) e qualsiasi pagina con contenuti speciali. Il plugin raccoglie le segnalazioni delle violazioni e costruisce una lista delle risorse che il tuo sito utilizza.<\/p>\n<p><strong>Passo 3 \u2014 Rivedi le regole suggerite<\/strong>: Really Simple SSL Pro mostra le origini rilevate durante la fase di learning e suggerisce le direttive CSP appropriate. Puoi approvare o rifiutare ciascuna origine.<\/p>\n<p><strong>Passo 4 \u2014 Attiva la CSP<\/strong>: quando sei soddisfatto delle regole, passa dalla modalit\u00e0 Report-Only alla modalit\u00e0 Enforce. Da questo momento, il browser bloccher\u00e0 attivamente qualsiasi risorsa non autorizzata.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/gtechgroup.it\/blog\/wp-content\/uploads\/2026\/05\/rssl-02-settings.png\" alt=\"Configurazione Content Security Policy in Really Simple SSL Pro\" \/><\/p>\n<h3>Esempio di CSP per un Sito WordPress Tipico<\/h3>\n<p>Ecco come potrebbe apparire una CSP per un sito WordPress tipico che utilizza Google Fonts, Google Analytics, YouTube embed e Gravatar:<\/p>\n<p><code>default-src &#8217;self&#8217;; script-src &#8217;self&#8217; &#8217;nonce-{random}&#8217; www.googletagmanager.com www.google-analytics.com; style-src &#8217;self&#8217; &#8217;unsafe-inline&#8217; fonts.googleapis.com; img-src &#8217;self&#8217; data: *.gravatar.com www.google-analytics.com; font-src &#8217;self&#8217; fonts.gstatic.com; frame-src www.youtube.com www.google.com; connect-src &#8217;self&#8217; www.google-analytics.com;<\/code><\/p>\n<p>Questa \u00e8 una configurazione di base. Ogni sito avr\u00e0 esigenze diverse in base ai plugin installati, ai servizi di terze parti utilizzati e alle funzionalit\u00e0 implementate.<\/p>\n<h3>CSP e WooCommerce<\/h3>\n<p>Se il tuo sito utilizza WooCommerce, la CSP richiede attenzioni aggiuntive. I gateway di pagamento come Stripe e PayPal caricano script dai propri domini per gestire i pagamenti in modo sicuro. Se questi domini non sono autorizzati nella CSP, il checkout non funzioner\u00e0.<\/p>\n<p>Per Stripe, ad esempio, devi autorizzare <code>js.stripe.com<\/code> in script-src e frame-src, oltre a <code>api.stripe.com<\/code> in connect-src. Per PayPal, le origini da autorizzare sono <code>www.paypal.com<\/code> e <code>www.paypalobjects.com<\/code>.<\/p>\n<p>La modalit\u00e0 Learning di Really Simple SSL Pro \u00e8 particolarmente utile per WooCommerce: naviga l&#8217;intero flusso di checkout durante la fase di apprendimento per assicurarti che tutte le risorse necessarie vengano rilevate.<\/p>\n<h3>CSP e Plugin di Terze Parti<\/h3>\n<p>Alcuni plugin WordPress comuni richiedono eccezioni CSP specifiche:<\/p>\n<ul>\n<li><strong>Google reCAPTCHA<\/strong>: script-src e frame-src per <code>www.google.com<\/code> e <code>www.gstatic.com<\/code><\/li>\n<li><strong>Facebook Pixel<\/strong>: script-src e connect-src per <code>connect.facebook.net<\/code> e <code>www.facebook.com<\/code><\/li>\n<li><strong>HubSpot<\/strong>: script-src per <code>js.hs-scripts.com<\/code>, <code>js.hsforms.net<\/code>, <code>js.hs-analytics.net<\/code><\/li>\n<li><strong>Elementor<\/strong>: potrebbe richiedere <code>&#8217;unsafe-eval&#8217;<\/code> in script-src per alcune funzionalit\u00e0 dell&#8217;editor<\/li>\n<li><strong>Jetpack<\/strong>: connect-src per <code>stats.wp.com<\/code> e script-src per <code>s0.wp.com<\/code><\/li>\n<\/ul>\n<h3>Gestire le Violazioni CSP<\/h3>\n<p>Anche dopo aver configurato la CSP, potrebbero verificarsi violazioni. Really Simple SSL Pro offre un sistema di <strong>reporting<\/strong> che raccoglie le violazioni e le mostra nella dashboard. Questo \u00e8 utile per:<\/p>\n<ul>\n<li>Identificare risorse legittime che non sono state incluse nella CSP durante la fase di learning<\/li>\n<li>Rilevare tentativi di attacco (script injection) che vengono bloccati dalla CSP<\/li>\n<li>Monitorare l&#8217;impatto di aggiornamenti di plugin che potrebbero aggiungere nuove risorse esterne<\/li>\n<\/ul>\n<p>Quando aggiungi un nuovo plugin o servizio al tuo sito, ricordati di verificare se richiede modifiche alla CSP. La modalit\u00e0 Learning pu\u00f2 essere riattivata temporaneamente per rilevare le nuove risorse.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/gtechgroup.it\/blog\/wp-content\/uploads\/2026\/05\/wc-08-payments.png\" alt=\"Sicurezza dei pagamenti con CSP e Really Simple SSL\" \/><\/p>\n<h3>CSP Level 2 e Level 3<\/h3>\n<p>La specifica CSP si \u00e8 evoluta nel tempo. CSP Level 2 ha introdotto i nonce e gli hash per gli script inline, oltre al reporting migliorato. CSP Level 3 ha aggiunto <code>&#8217;strict-dynamic&#8217;<\/code> e migliorato la compatibilit\u00e0 con le single-page application.<\/p>\n<p>Really Simple SSL Pro supporta le funzionalit\u00e0 di CSP Level 2 e Level 3, inclusi nonce, hash e strict-dynamic. La scelta di quali funzionalit\u00e0 utilizzare dipende dalla compatibilit\u00e0 browser richiesta dal tuo sito.<\/p>\n<h3>Errori Comuni nell&#8217;Implementazione della CSP<\/h3>\n<p>Ecco gli errori pi\u00f9 frequenti da evitare:<\/p>\n<p><strong>Partire con una CSP troppo restrittiva<\/strong>: attivare subito una CSP restrittiva in modalit\u00e0 Enforce senza fase di learning causa quasi certamente problemi. Usa sempre la modalit\u00e0 Report-Only prima.<\/p>\n<p><strong>Usare &#8217;unsafe-inline&#8217; e &#8217;unsafe-eval&#8217; ovunque<\/strong>: se la tua CSP include <code>script-src &#8217;unsafe-inline&#8217; &#8217;unsafe-eval&#8217;<\/code>, stai praticamente annullando la protezione contro XSS. Usa i nonce quando possibile.<\/p>\n<p><strong>Dimenticare le sottopagine<\/strong>: la CSP si applica a tutte le pagine, ma diverse pagine possono caricare risorse diverse. Assicurati di navigare l&#8217;intero sito durante la fase di learning.<\/p>\n<p><strong>Non monitorare dopo il deploy<\/strong>: la CSP non \u00e8 &#8220;imposta e dimentica&#8221;. Plugin aggiornati, nuovi widget e modifiche ai servizi esterni possono richiedere aggiornamenti alla policy.<\/p>\n<h3>Conclusioni<\/h3>\n<p>La Content Security Policy \u00e8 uno degli strumenti pi\u00f9 efficaci per proteggere un sito WordPress dagli attacchi XSS e dall&#8217;injection di codice. Grazie alla modalit\u00e0 Learning di Really Simple SSL Pro, l&#8217;implementazione \u00e8 diventata accessibile anche a chi non ha competenze tecniche avanzate. L&#8217;importante \u00e8 procedere gradualmente, testare accuratamente e monitorare le violazioni nel tempo.<\/p>\n<p>Se la configurazione della CSP ti sembra troppo complessa o se hai un sito WordPress con molti plugin e servizi di terze parti, <a href=\"https:\/\/gtechgroup.it\/contatti\/\">contatta G Tech Group<\/a> per un&#8217;implementazione professionale che garantisca sicurezza senza compromettere la funzionalit\u00e0.<\/p>\n<div style=\"background:#f0f4f8;border-left:4px solid #0073aa;padding:20px;margin:30px 0;\">\n<h4>Leggi anche gli altri articoli della serie Really Simple SSL<\/h4>\n<ul>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/really-simple-ssl-hardening-header-sicurezza\/\">Really Simple SSL: Hardening degli Header di Sicurezza<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/really-simple-ssl-configurare-hsts\/\">Configurare HSTS con Really Simple SSL: HTTP Strict Transport Security<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/really-simple-ssl-woocommerce-sicurezza-ecommerce\/\">Really Simple SSL e WooCommerce: Sicurezza per E-Commerce<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/really-simple-ssl-free-vs-pro-confronto-prezzi\/\">Really Simple SSL Free vs Pro: Confronto Funzionalit\u00e0 e Prezzi 2026<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/really-simple-ssl-vulnerability-detection-server-health\/\">Really Simple SSL: Vulnerability Detection e Server Health Check<\/a><\/li>\n<\/ul>\n<\/div>\n<p>Per una protezione completa del tuo sito WordPress, combina Really Simple SSL Pro con un <a href=\"https:\/\/gtechgroup.it\/hosting-wordpress\/\">hosting WordPress sicuro<\/a> che offra firewall applicativo, protezione DDoS e monitoraggio proattivo delle minacce. La sicurezza \u00e8 un approccio a strati, e ogni livello conta.<\/p>\n<h3>Migliora il Tuo Sito WordPress<\/h3>\n<p>Scopri le nostre guide complete sugli altri plugin essenziali per WordPress:<\/p>\n<ul>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/come-installare-elementor-wordpress-guida-principianti\/\">Come Installare Elementor su WordPress<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/wp-rocket-installare-configurare-wordpress\/\">Come Installare e Configurare WP Rocket<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/come-installare-configurare-seopress-wordpress-guida\/\">Come Installare e Configurare SEOPress<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/installare-attivare-updraftplus-wordpress\/\">Come Installare e Configurare UpdraftPlus<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Really Simple SSL Pro: Content Security Policy per WordPress La Content Security Policy (CSP) \u00e8 considerata uno degli header di sicurezza pi\u00f9 potenti e complessi&hellip;<\/p>\n","protected":false},"author":2,"featured_media":167200,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_titles_title":"Really Simple SSL Pro: CSP per WordPress | Guida","_seopress_titles_desc":"Come implementare Content Security Policy con Really Simple SSL Pro. Direttive, whitelist e test.","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"Really Simple SSL Pro:","footnotes":""},"categories":[1,61],"tags":[3597,3596,3482,3591,911],"class_list":["post-167235","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-senza-categoria","category-wordpress","tag-content-security-policy","tag-csp","tag-pro","tag-really-simple-ssl","tag-sicurezza"],"_links":{"self":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/167235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/comments?post=167235"}],"version-history":[{"count":0,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/167235\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/media\/167200"}],"wp:attachment":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/media?parent=167235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/categories?post=167235"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/tags?post=167235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}