HSTS چیست و چطور آن را فعال کنیم
- امنیت وردپرس مقالات آموزشی
- بروزرسانی شده در
اگر روی سایت خود از https استفاده میکنید، بهتر است برای افزایش امنیت و افزایش سرعت سایت خود حتما HSTS را فعال کنید. HSTS به معنای HTTP Strict Transport Security هست که به شما اجازه میدهد با حملات man-in-the-middle را مقابله کنید. شاید کمی سخت شد. اما در ادامه اینکه HSTS چیست و چطور میتوانیم آن را روی وردپرس نصب کنیم توضیح خواهم داد.
آنچه در این مقاله میخوانید
HSTS چیست و چگونه کار میکند
بهصورت کلی زمانی که شما SSL را روی سایت خود نصب میکنید، باید در تنظیمات سایت وردپرسی خود آدرس سایتتان را به https تغییر دهید. در نتیجه برای باز کردن سایتتان، اگر آدرس سایت را به صورت http://mihanwp.com در مرورگر وارد کنید، بهصورت خودکار به https://mihanwp.com منتقل خواهید شد.
این انتقال توسط درخواستی که از سمت وب سرور شما برای مرورگر ارسال میشود، صورت خواهد گرفت. اما اگر خود مرورگر با دیدن آدرس سایت شما، این انتقال را در آینده انجام دهد بهتر نیست؟ قطعا این روش بسیار بهتر است. برای اینکار از HSTS استفاده میکنیم.
فعال کردن HSTS در وردپرس
برای فعالسازی HSTS در وردپرس باید یک هدر جدید در درخواستهای سمت سرور برای مرورگر کاربر ارسال شود. برای اینکار کافیست بسته به وب سرور سایت خود از این ۲ روش استفاده کنید.
فعالسازی در وب سرور آپاچی و لایت اسپید (مناسب برای ۹۹ درصد سایتها)
برای فعالسازی HSTS در وب سرور آپاچی و لایت اسپید، کافیست وارد فایل منیجر هاست خود شوید. فایل منیجر هاست در سی پنل و دایرکت ادمین با نام FileManager در دسترس است.
بعد از ورود به فایل منیجر، وارد پوشه public_html شوید. سپس فایل .htaccess را ویرایش کرده و کد زیر را در این فایل قرار دهید:
<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=31536000;preload" env=HTTPS
</IfModule>
سپس این فایل را ذخیره کنید. حالا مشاهده میکنید که سایت شما بهصورت خودکار از http به https ریدایرکت میشود. حتی قبل از اینکه درخواست به وب سرور ارسال شود.
راستی! اگر میخواهید تمام ساب دامینهای شما از https استفاده کنند، حتما این کد را جایگزین کد بالا کنید:
<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=31536000;includeSubDomains;preload" env=HTTPS
</IfModule>
فعال کردن HSTS در وب سرور NGINX
اگر شما از وب سرور انجین ایکس استفاده میکنید، نحوه انجام کار کمی متفاوت هست. تقریبا ۱ درصد سایتهای ایرانی از NGINX استفاده میکنند، پس به احتمال زیاد شما باید از روش قبلی استفاده کنید. اما در هر صورت اگر سرور مجازی یا اختصاصی دارید و وب سرور شما NGINX هست، کافیست فایل nginx.conf را در وب سرور خود پیدا کنید، سپس کد زیر را در Virtual Server مخصوص سایت خود اضافه کنید:
add_header Strict-Transport-Security "max-age=63072000;";
به همین راحتی! حالا وب سرور NGINX خود را ریستارت کرده و از HSTS در سایت خود لذت ببرید.
چطور مطمئن باشیم HSTS فعال است
برای اطمینان از فعال بودن HSTS روی سایت شما، کافیست وارد سایت https://gf.dev/hsts-test شوید.سپس سایت خود را وارد کرده و گزینه تست را کلیک کنید. این سایت وضعیت فعال بودن HSTS روی سایت شما را بررسی خواهد کرد. به این صورت:
موفق و شاد باشید.
سلام وقت بخیر جناب حسینی.من تو سایت تست گرفتم ارور داده.حتی دامین سایت میهن وردپرس تست کردم جواب تست نمیده.Internal Server Error این رو میده بهم.
سلام از سایت دیگری استفاده کنید. توی گوگل سرچ کنید hsts test online
سلام آیا این سایت تست کننده امن است چون سایت های تازه تاسیس شده رو بهش می دم و امنیت سایت هاش پایینه
سلام امنیت پایین منظورش امنیت سایتتون هست نه سایت خودش
سایت خودم
خب اگه میگه امن نیست حتما hsts فعال نیست
نه منظورم این نیست این هست که این سایت تست کننده ایمن هست یا نه. چون سایت هام هنوز ایمن نیست و افزونه امنیتی روش نصب نیست
می گم وبسایت من رو هک نمی کنه ؟
سلام بله مشکلی نیست فقط میخاد hsts رو تست کنه
سلام
من آموزش های شما رو دنبال دارم میکنم و HSTS رو برای سایت خودم فعال کردم ، لما چرا رو سایت خودتون فعال نیست؟
آیا این برای همه سایت ها مناسب هست و یا شرایط استفاده خاصی داره؟
مثلا من دیجیکالا رو چک کردم فعال نبود ولی رو بانی مد فعال هست.
سلام روی سایت ما فعال هست. در مورد دیجی کالا اطلاعی ندارم. روی هر سایتی بهتره که فعال باشه
چرا من تست کردم رو میهن وردپرس فعال بود
با سلام
ممنون از توضیحات خوبتون
دامنه ما روی ابر آروان هست
باید با پشتیبانی ابر آروان هماهنگ کنیم برای فعال کردن ؟
سلام.
ممنون از این مقالهتون.
قبل از خواندن این مقاله فکر میکردم که HSTS همان پروتکل HTTPS است. اما فهمیدم که فرق دارد و تو سایت خودم الان فعال کردم. خیلی ممنون. اگر امکانش هست یک مقاله هم راجع به SSH بگذارید.
باتشکر از شما.
سپاس از شما. مقاله درباره ssh روی سایت داریم.
سلام بنده هر کار کردم در سایت بازهم میزنه که HSTS فعال نیست. 🙁
سلام وب سرور شما چی هست؟ از هاستینگ بپرسید
litespeed
اگر لایت اسپید هست نباید مشکلی باشه. اگر openlitespeed هست با شرکت هاست در میان بذارید باید از پنل وب سرور تنظیم کنند.
ممنون بابت کمکتون