امنیت Headers وردپرس؛ راهنمای جامع پیکربندی هدرهای امنیتی HTTP
وقتی صحبت از محافظت از وبسایت وردپرسی میشود، خیلی از مدیران سایت فقط به نصب افزونههای امنیتی یا تغییر آدرس ورود فکر میکنند. اما یک لایه دفاعی بسیار قوی و در عین حال نادیده گرفتهشده وجود دارد که مستقیم در سطح مرورگر کاربر عمل میکند: هدرهای امنیتی HTTP. اگر میخواهید جلوی حملاتی مثل XSS، Clickjacking و تزریق کدهای مخرب را بگیرید، تنظیم درست هدرها ضروری است. برای آشنایی بیشتر با اصول پایه پیشنهاد میکنیم بخش امنیت وب سایت را حتماً بررسی کنید.
- هدر امنیتی HTTP چیست؟
- معرفی ۶ هدر امنیتی کلیدی وردپرس
- روشهای پیادهسازی هدرهای امنیتی در سرور و وردپرس
- جدول مقایسه کارکرد هدرهای امنیتی
- چگونه هدرهای امنیتی را تست کنیم؟
- عیبیابی سریع مشکلات پس از فعالسازی
- سوالات متداول
هدر امنیتی HTTP چیست و چگونه کار میکند؟

پاسخ کوتاه: هدرهای امنیتی HTTP کدهای دستورالعملی هستند که سرور سایت همراه با پاسخ درخواست، به مرورگر کاربر ارسال میکند. این هدرها به مرورگر دستور میدهند که هنگام بارگذاری کدهای JavaScript، فریمها، تصاویر و سایر منابع، رفتاری سختگیرانه و امن داشته باشد تا جلوی نفوذ هکرها گرفته شود.
وقتی کاربری وارد سایت شما میشود، مرورگر او پیامی به سرور میفرستد. سرور علاوه بر فرستادن کدهای HTML و عکسها، مجموعهای از اطلاعات پنهان را به عنوان “Header” ارسال میکند. اگر این هدرها شامل دستورات امنیتی نباشند، مرورگر فرض را بر اعتماد کامل میگذارد و اینجاست که آسیبپذیریها شکل میگیرند.
معرفی ۶ هدر امنیتی کلیدی برای وردپرس

در این بخش شش هدر حیاتی را بررسی میکنیم که هر سایت وردپرسی باید آنها را فعال کند تا ریسک حملات سایبری به حداقل برسد.
۱. Content Security Policy (CSP)
هدر CSP یکی از قدرتمندترین ابزارها برای جلوگیری از حملات Cross-Site Scripting (XSS) است. این هدر مشخص میکند مرورگر اجازه دارد اطلاعت و اسکریپتها را از چه دامنه و منبعی دریافت کند. اگر هکری سعی کند کدهای مخرب را به سایت شما تزریق کند، مرورگر به دلیل نداشتن مجوز در CSP، آن کد را اجرا نخواهد کرد.
۲. HTTP Strict Transport Security (HSTS)
این هدر مرورگر را موظف میکند فقط و فقط از طریق پروتکل امن HTTPS با سایت ارتباط برقرار کند. این موضوع مانع از حملات Man-in-the-Middle (MITM) و SSL Strip میشود. با فعالسازی این بخش، حتی اگر کاربر آدرس سایت را با HTTP وارد کند، مروگر به صورت خودکار و بدون ارسال درخواست ناامن، آن را روی HTTPS باز میکند.
۳. X-Frame-Options
حمله کلیکجکینگ زمانی رخ میدهد که مهاجم سایت شما را درون یک فریم نامرئی (iframe) در سایت خود قرار میدهد و کاربر را گول میزند تا روی دکمههای حساس کلیک کند. هدر X-Frame-Options جلوی قرار گرفتن سایت شما در iframe سایر دامنهها را میگیرد.
۴. X-Content-Type-Options
گاهی اوقات مرورگرها تلاش میکنند نوع یک فایل را حدس بزنند (MIME Sniffing). برای مثال اگر فایلی با پسوند تصویر آپلود شده اما حاوی کدهای جاوااسکریپت باشد، مرورگر ممکن است آن را به عنوان کد اجرا کند! این هدر مرورگر را مجبور میکند دقیقاً از نوع فایل اعلان شده پیروی کند.
۵. Referrer-Policy
وقتی کاربری از سایت شما روی لینکی کلیک میکند و به سایت دیگری میرود، مرورگر آدرس دقیق صفحهای که کاربر در آن قرار داشته را برای سایت مقصد میفرستد. این هدر مشخص میکند چه مقدار از این اطلاعات ارجاعی به مقاصد خارجی ارسال شود تا حریم خصوصی کاربران حفظ گردد.
۶. Permissions-Policy
این هدر قبلاً به نام Feature-Policy شناخته میشد. با استفاده از آن میتوانید دسترسی مرورگر به سختافزارهایی مانند دوربین، میکروفون، موقعیت مکانی (Geolocation) و غیره را برای صفحات سایت مدیریت یا کاملاً مسدود کنید.
البته لازم به ذکر است که امنیت فقط محدود به هدرها نیست. اقداماتی نظیر به روز رسانی امنیتی وردپرس نیز جزو الزامات اولیه نگهداشت وبسایت است.
روشهای پیادهسازی هدرهای امنیتی در سرور و وردپرس
برای اضافه کردن این هدرها به وردپرس چند راه مختلف وجود دارد. طبق تجربه، بهترین و سریعترین روش افزودن کدها به فایل کانفیگ سرور است.
روش اول: ویرایش فایل htaccess. (مخصوص Apache / LiteSpeed)
اگر سرور شما از آپاچی یا لایتاسپید استفاده میکند، فایل .htaccess در پوشه اصلی سایت (public_html) قرار دارد. پس از پشتیبانگیری، کدهای زیر را در انتهای تظظیمات این فایل اضافه کنید:
Header set Strict-Transport-Security “max-age=31536000; includeSubDomains; preload”
Header set X-Frame-Options “SAMEORIGIN”
Header set X-Content-Type-Options “nosniff”
Header set Referrer-Policy “strict-origin-when-cross-origin”
Header set Permissions-Policy “geolocation=(), microphone=(), camera=()”
Header set Content-Security-Policy “default-src ‘self’ https: data: ‘unsafe-inline’ ‘unsafe-eval'”
</IfModule>
روش دوم: تنظیم هدرها در وبسرور Nginx
در سرورهای Nginx باید کدهای هدر را داخل فایل پیکربندی سایت (معمولاً در مسیر /etc/nginx/sites-available/) و در بلاک server وارد کنید:
add_header X-Frame-Options “SAMEORIGIN” always;
add_header X-Content-Type-Options “nosniff” always;
add_header Referrer-Policy “strict-origin-when-cross-origin” always;
add_header Permissions-Policy “geolocation=(), microphone=(), camera=()” always;
روش سوم: از طریق فایل functions.php پوسته وردپرس
اگر دسترسی به سطح سرور ندارید، میتوانید کدهای زیر را به فایل functions.php قالب چایلد (Child Theme) خود اضافه کنید:
header(“Strict-Transport-Security: max-age=31536000; includeSubDomains; preload”);
header(“X-Frame-Options: SAMEORIGIN”);
header(“X-Content-Type-Options: nosniff”);
header(“Referrer-Policy: strict-origin-when-cross-origin”);
}
add_action(‘send_headers’, ‘add_security_headers’);
روش چهارم: استفاده از افزونههای امنیتی وردپرس
چنانچه کدنویسی برایتان دشوار است، افزونههایی مثل Redirection یا HTTP Headers امکان مدیریت کامل هدرها را از طریق پنل مدیریت فراهم میکنند. هرچند پیشنهاد میشود به جای نصب افزونه جدید، هدرها را مستقیم از طریق سرور تنظیم کنید تا بار اضافه به وردپرس تحمیل نشود.
به یاد داشته باشید برای پروژههای بزرگ مثل طراحی سایت فروشگاهی امن یا پروژههای حساس طراحی سایت شرکتی، انجام تستی کامل روی هدرها پیش از بالا آمدن سایت اهمیت بالایی دارد.
جدول مقایسه: وظیفه اصلی هر هدر امنیتی
| عنوان هدر (Header Name) | نقش و کاربرد اصلی در امنیت سایت |
|---|---|
| Content-Security-Policy | جلوگیری از حملات تزریق کد و اسکریپتهای مخرب (XSS) |
| Strict-Transport-Security | اجبار مرورگر به استفاده دائمی از ارتباط رمزنگاریشده HTTPS |
| X-Frame-Options | جلوگیری از بارگذاری سایت درون iframe و حملات Clickjacking |
| X-Content-Type-Options | غیرفعال کردن قابلیت تغییر خودکار نوع فایلها در مرورگر |
| Referrer-Policy | محافظت از اطلاعات حساس موجود در آدرس صفحات هنگام ارجاع |
| Permissions-Policy | محدودسازی دسترسی وبسایت به سختافزارها و امکانات دستگاه کاربر |
چگونه هدرهای امنیتی سایت خود را تست کنیم؟
پس از ذخیره تغییرات، حتماً باید صحت اجرای آنها را بستر سنجش قرار دهید. برای این کار دو راهکار ساده وجود دارد:
- استفاده از ابزارهای آنلاین: سادهترین راه، ورود به سایت رایگان
securityheaders.comاست. با وارد کردن آدرس سایت، نمرهای از A+ تا F دریافت میکنید که نشاندهنده وضعیت پیکربندی هدرهاست. - بررسی از طریق Inspect مرورگر: کلید F12 را فشار دهید، به زبانه Network بروید، صفحه را رفرش کنید و روی اولین درخواست (آدرس اصلی سایت) کلیک کنید. در بخش Response Headers میتوانید هدرهای فعال را مشاهده کنید.
در کنار هدرها، اقدامات مکمل دیگری مثل ورود با آی پی مشخص در وردپرس نیز برای امنیت پنل مدیریت بسیار مفید است.
عیبیابی سریع (Troubleshooting) مشکلات پس از فعالسازی
گاهی اوقات اعمال سختگیرانه هدرها ممکن است ظاهر سایت یا عملکرد برخی اسکریپتها را به هم بریزد. در ادامه راهحلهای سریع چند مشکل شایع آورده شده است:
راهحل: هدر CSP مانع بارگذاری منابع از دامنههای خارج از لیست سفید میشود. دامنه سرویسهای خارجی (مثل فونتهای گوگل، گوگل آنالیتیکس یا چت آنلاین) را در بخش script-src و font-src کد CSP اضافه کنید.
راهحل: این خطا ناشی از اشتباه نگارشی در کد یا عدم پشتیبانی سرور از ماژول mod_headers است. فایل htaccess را باز کرده و کد اضافه شده را بررسی یا موقتاً حذف کنید.
راهحل: مطمئن شوید گواهی SSL روی تمام سابدامنهها نصب است و سایت بدون مشکلی فقط با HTTPS باز میشود. اگر ssl معتبر ندارید نباید HSTS را روشن کنید.
اگر در فرایند کانفیگ سرور دچار سردرگمی شدید، سپردن کار به یک شرکت امنیت وردپرس یا دریافت مشاوره از تیم متخصص کارشناسی امنیت وردپرس میتواند خیال شما را کاملاً راحت کند.
البته هدرهای HTTP به تنهایی کافی نیستند و نباید در برابر حملات سنگینتر مثل حملات brute force وردپرس غافل شد.
سوالات متداول درباره هدرهای امنیتی وردپرس
خیر، حجم این هدرها در حد چند بایت متنی ساده است و هیچ تأثیر منفی روی سرعت بارگذاری ندارد؛ حتی با افزایش امنیت و جلوگیری از اجرا شدن اسکریپتهای ناشناس، مرورگر کارآمدتر عمل میکند.
بله! موتورهای جستجو به امنیت کاربران اهمیت زیادی میدهند. استفاده از HTTPS و هدر HSTS از معیارهای رتبهبندی است و باعث رشد پایدار در حوزه سئو میشود.
هدر CSP اگر دقیق کانفیگ نشود احتمال دارد جلوی بارگذاری برخی فایلهای جاوااسکریپت، فونتها یا استایلهای ضروری را بگیرد. بهتر است ابتدا آن را در حالت Report-Only تست کنید.
اميدواریم با اجرای این راهنما بتوانید ایمنی پایگاه داده و وبسایت خود را ارتقا دهید. برای اجرای دقیق پروژههای مدرن وب و همچنین آشنایی با استراتژیهای رشد کسبوکار، حتماً بخش توسعه وب و خدمات دیجیتال مارکتینگ را در وبسایت مهیار هاب دنبال کنید.