[Aggiornata il 22 Febbraio 2019]

Durante le mie consulenze mi è capitato di imbattermi in un problema legato alla configurazione di Apache. Nel dettaglio il problema è legato alla Mod Security Rules ovvero un modulo di Apache legato alla sicurezza. Questo modulo blocca gli iframe che vengono impostati come invisibili (style=”display:none;visibility:hidden”).

Come sappiamo dal 27 Settembre 2016 Google Tag Manager ha diviso in 2 snippet l’implementazione. Uno di questi, e più precisamente lo snippet che va subito dopo l’apertura del <body>, contiene un iframe proprio con le caratteristiche verificate dal modulo di sicurezza di Apache:

<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PDDC9N"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->

 

Questa implementazione porta a questa risposta da parte del modulo:

WARNING:    Possibly malicious iframe tag in output
Message:    Outbound Anomaly Score Exceeded (score 15): Possibly malicious iframe tag in output

Problema non gestibile direttamente

Non possiamo disinstallare il modulo o chiedere all’IT di sistemare (magari non sa nemmeno come fare 😀 ). Bene, quindi che si fa?

La soluzione (o meglio il workaround) al problema

Non avendo la possibilità di mettere mano alla configurazione del server proviamo a gestirlo con un #barbatrucco, ovvero personalizziamo lo snippet usando dei CSS!

Step 1 – Creiamo la classe CSS

Creiamo una semplice classe CSS dove andiamo ad imporre la non visualizzazione:

.displayGTM {
display:none;
visibility:hidden;
}

 Step 2 – Modifichiamo lo snippet GTM

Una volta creata la classe non ci resta che modificare lo snippet di GTM includendo la classe CSS e impostando dei valori in altezza e larghezza.

<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PDDC9N"
height="30" width="30" class="displayGTM"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->

 

In questo modo il modulo di Apache non bloccherà più Google Tag Manager!

A presto e… buon Tag!

Condividi anche tu Google Tag Manager!
  • Reply

    Fabrizio

    13 09 2017

    Grande, mi hai risolto un problema!

    • Matteo Zambon

      13 09 2017

      Mi fa piacare Fabrizio!

      PS: Sei iscritto alla newsletter? 😉

Hai ancora qualche dubbio?
Chiedi pure qui sotto, sarò pronto a risponderti!

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *