מדיניות אבטחת תוכן (CSP) היא אמצעי לאבטחת דף האינטרנט שלכם באמצעות הגבלת המשאבים והסקריפטים שמותר לטעון ולהריץ. כדי להפעיל את CSP, מגדירים כותרת Content-Security-Policy
בתגובות HTTP משרת האינטרנט.
יש שתי דרכים רגילות להגדרת CSP:
מציינים רשימת דומיינים מורשים שיכולים להחדיר את המשאבים שלהם בדף.
מציינים מספר חד-פעמי אקראי, שצריך לסמן איתו משאבים בדף כדי לטעון אותם. הגישה הזו נקראת CSP קפדני.
מכיוון שהדומיינים שבהם Google Publisher Tag (GPT) משתמש משתנים עם הזמן, אנחנו תומכים רק ב-CSP מחמיר (אפשרות 2). הגישה הזו מאפשרת לכם להימנע מהצורך לנהל רשימה מתעדכנת של דומיינים שעשויים להיות לא עדכניים ולגרום לשיבושים באתר.
הגדרת CSP באמצעות GPT
מפעילים את CSP בשרת האינטרנט.
פועלים לפי השלבים שמפורטים במאמר אימוץ מדיניות CSP מחמירה כדי להגדיר את כותרת ה-CSP ולהחיל את המזהה החד-פעמי על כל תג סקריפט בדף, כולל
gpt.js
. GPT תומך באופן ספציפי בהוראות ה-CSP הבאות:Content-Security-Policy: object-src 'none'; script-src 'nonce-{random}' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:; base-uri 'none'; report-uri https://your-report-collector.example.com/
אם המדיניות המחמירה לא מתאימה לתרחיש לדוגמה שלכם, תוכלו לבחור מדיניות מתירנית יותר. מדיניות מגבילה יותר עשויה להפר את המדיניות ללא הודעה מוקדמת.
מפעילים עיבוד בכמה דומיינים.
iframes של מודעות יכולים לטעון משאבים חיצוניים שיכול להיות שה-CSP לא יאפשר. מאחר ש-iframes באותו דומיין יורשים את ה-CSP של החלון ברמה העליונה, ו-GPT לא יכול לשלוט בתוכן של הקריאייטיב, בדרך כלל קריאייטיב באותו דומיין לא יפעל כראוי עם כותרות CSP.
כדי להפעיל עיבוד בכל הדומיינים לכל הקריאייטיבים, צריך להריץ את הפקודה
googletag.pubads().setForceSafeFrame(true)
לפני טעינת שטחי הפרסום.<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Hello GPT</title>
<script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" nonce="KC7tcz53FHqumKP1" async></script>
<script nonce="KC7tcz53FHqumKP1">
window.googletag = window.googletag || {cmd: []};
googletag.cmd.push(function() {
googletag.pubads().setForceSafeFrame(true);
});
</script>
</head>
בדיקה
מומלץ לבדוק את כללי המדיניות קודם על ידי הגדרת הכותרת Content-Security-Policy-Report-Only
במקום Content-Security-Policy
. הכותרת מדווחת על הפרות אבל עדיין מאפשרת להציג אותן בדף.