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