איך מוסיפים כותרת X-Frame-Options (הגנה מ-clickjacking)
בלי X-Frame-Options, אתר זדוני יכול להציג את האתר שלכם בתוך מסגרת שקופה ולגרום למבקרים ללחוץ על כפתורים בלי לדעת. SAMEORIGIN מאפשר הטמעה רק מתוך האתר שלכם.
אם אתר אחר שלכם או שותף מטמיע את האתר הזה ב-iframe, ההטמעה תיחסם. במקרה כזה השתמשו ב-CSP frame-ancestors עם רשימת האתרים המותרים.
איך מתקנים, לפי הפלטפורמה שלכם
WordPress
איפה: הקובץ functions.php של ערכת העיצוב (או תוסף לקטעי קוד)
add_action('send_headers', function () {
header("X-Frame-Options: SAMEORIGIN");
});WordPress שולח את הכותרת X-Frame-Options בכל טעינת עמוד.
איך בודקים שזה עבד: טענו מחדש את האתר ובדקו שכותרות התגובה כוללות את `X-Frame-Options`.
Cloudflare
איפה: לוח הבקרה של Cloudflare: Rules ← Transform Rules ← Modify Response Header ← Add
Set static — Header name: X-Frame-Options — Value: SAMEORIGIN
Cloudflare מוסיף את הכותרת X-Frame-Options בשרתי הקצה שלו, בלי שינוי בשרת שלכם.
איך בודקים שזה עבד: טענו מחדש את האתר ובדקו שכותרות התגובה כוללות את `X-Frame-Options`.
Vercel / Next.js
איפה: הקובץ next.config.js, בתוך הפונקציה async headers()
module.exports = {
async headers() {
return [{ source: "/(.*)", headers: [
{ key: "X-Frame-Options", value: "SAMEORIGIN" },
]}];
},
};Next.js שולח את הכותרת X-Frame-Options בכל נתיב.
איך בודקים שזה עבד: טענו מחדש את האתר ובדקו שכותרות התגובה כוללות את `X-Frame-Options`.
Netlify
איפה: קובץ `_headers` בתיקיית הפרסום (או netlify.toml)
/* X-Frame-Options: SAMEORIGIN
Netlify מוסיף את הכותרת X-Frame-Options לכל הנתיבים (`/*`).
איך בודקים שזה עבד: טענו מחדש את האתר ובדקו שכותרות התגובה כוללות את `X-Frame-Options`.
Nginx
איפה: nginx.conf — בתוך הבלוק `server { }`, ואז טענו מחדש את nginx
add_header X-Frame-Options "SAMEORIGIN" always;
מוסיף את הכותרת X-Frame-Options לכל תגובה.
איך בודקים שזה עבד: טענו מחדש את האתר ובדקו שכותרות התגובה כוללות את `X-Frame-Options`.
Apache
איפה: .htaccess (או הגדרות ה-vhost), ואז הפעילו מחדש את Apache
Header always set X-Frame-Options "SAMEORIGIN"
מוסיף את הכותרת X-Frame-Options דרך mod_headers.
איך בודקים שזה עבד: טענו מחדש את האתר ובדקו שכותרות התגובה כוללות את `X-Frame-Options`.
IIS
איפה: web.config — בתוך <system.webServer><httpProtocol><customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
מוסיף את הכותרת X-Frame-Options ב-IIS.
איך בודקים שזה עבד: טענו מחדש את האתר ובדקו שכותרות התגובה כוללות את `X-Frame-Options`.
שרת האתר שלכם
איפה: הגדרות כותרות התגובה בשרת האתר שלכם
X-Frame-Options: SAMEORIGIN
הגדירו את השרת או את ה-CDN לשלוח את הכותרת הזו בכל תגובה.
איך בודקים שזה עבד: טענו מחדש את האתר ובדקו שכותרות התגובה כוללות את `X-Frame-Options`.
לא בטוחים אם האתר שלכם צריך את התיקון הזה? הסריקה בודקת את זה ועוד עשרות דברים, ומראה מה חסר אצלכם.
לסריקה חינמית של האתר