邪魔なタグはCSPで黙らせられるのだが..
タグ多すぎ
高速PDCAと言う名のもとに、よく分からないタグを入れさせられたり、あとが面倒だからとタグマネージャーを入れたら、よくわからないタグが山のように入ってることがたまにあります。「70個ものタグがサイトで発火してますが」みたいな。
でも、タグを外そうと思っても、どのLPかわからなかったり、制作会社に依頼してもコストかかるし、間違ってタグを外すと、そもそも計測ができなくなるし。難しいですよね。
そんな時には奥さん、CSPという手があるのですよ!という話。
CSP(Contents Security Policy)
Content Security Policy (CSP) とは、クロスサイトスクリプティング (XSS) やデータを差し込む攻撃などといった、特定の種類の攻撃を検知し、影響を軽減するために追加できるセキュリティレイヤーです。これらの攻撃はデータの窃取からサイトの改ざん、マルウェアの拡散に至るまで、様々な目的に用いられます。
CSPはもともと、クロスサイトスクリプティングなどの攻撃からサイトを守るための技術です。でも、使い方によっては、他サイトからの画像の無断引用を防いだり、不要なタグの発火を防いだりすることにも使えます。
設定方法は、HTTP ヘッダーとか、
Content-Security-Policy: script-src 'self' https://apis.google.commeta タグとかで行えます。
<meta http-equiv="Content-Security-Policy" content="default-src https://cdn.example.net; child-src 'none'; object-src 'none'">設定はホワイトリストベースなので、ミスしたらどうしようかと心配する方には、report-uriポリシーを使って、HTTPヘッダーに記載をすれば、ブロックは行わず、チェック結果を指定したurlにjsonで送信してくれる便利機能もありますので、https://report-uri.io/を使ってチェックしながら調整することもできます。
タグのブロック
CSPをサイトに導入することができれば、発火させたいタグのurlをscript-srcポリシーに列挙するだけで、それ以外のタグは発火しなくなります。サイトのどこにタグがあろうが、ピギーバックされたタグだろうがブロックできるというのが良いですよね。タグを外すコストもかかりませんし。
問題は..
なかなかステキなCSPですが、問題は、現在導入されているタグのリストが手元にないってことでしょうか。つまりはホワイトリストを作る手間がかかりすぎると。発火しているタグの調査+CSPの管理+report-uri.ioが一つになったようなサービスがあると良いんですけどね。
Reference
コンテンツ セキュリティ ポリシーhttps://developers.google.com/web/fundamentals/security/csp/?hl=ja
