کد فعالسازی هدر امنیتی HSTS (Strict-Transport-Security) در htaccess
این کد هدر Strict-Transport-Security را با اعتبار ۱ ساله و پشتیبانی از سابدامینها در فایل htaccess ست میکند.
مشخصات فنی و شناسنامه کد (Code Information)
بازبینی: 1405/06/29<IfModule mod_headers.c>
# فعالسازی هدر سختگیرانه HSTS با اعتبار یکساله
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
</IfModule>
کد را کجا قرار دهیم؟ (Placement Guide)
در ابتدای فایل .htaccess ریشه سایت.
این کد چگونه کار میکند؟ (How it Works)
پارامتر max-age مدت زمان به خاطر سپردن اجبار HTTPS در کلاینت است. includeSubDomains تمام سابدامینها را شامل میشود و preload امکان ثبت در لیست پیشفرض کروم را میدهد.
چه زمانی از این کد استفاده کنیم؟ (Use Cases)
زمانی که اطمینان قطعی دارید کل دامنه و تمام زیردامنهها دارای گواهی معتبر SSL دائمی هستند.
چه زمانی نباید از این کد استفاده کنیم؟ (Anti-patterns)
اگر حتی یکی از سابدامینهای سایت SSL ندارد یا قصد بازگشت به HTTP را دارید هرگز این کد را نزنید.
پیشنیازهای اجرا
گواهینامه فعال SSL/TLS روی دامنه و تمام سابدامینها.
نحوه تست و اطمینان از عملکرد
بررسی با دستور curl -s -D- https://example.com | grep -i strict
نحوه بازگردانی سریع (Rollback)
کاهش max-age به 0 و سپس حذف کد.
خطاهای رایج و راهحل رفع
از کار افتادن سابدامینهای بدون SSL به دلیل وجود عبارت includeSubDomains.
ملاحظات و نکات امنیتی
حفاظت قطعی در برابر حملات Man-in-the-middle و استراقسمع ترافیک وایفای عمومی.
تاثیر بر سرعت و پرفورمنس
حذف یک مرحله ریدایرکت رفتوبرگشت ۳۰۱ در مرورگر کلاینت و تسریع لود اولیه.