ملفات تعريف الارتباط يحتفظ هذا الموقع بما يحتاجه للعمل فقط. لا توجد عليه اليوم أي أدوات تحليل أو إعلانات، ولا شيء هنا يتتبعك إلى مواقع أخرى. اقرأ سياسة الخصوصية

اختر ما تسمح به
+92 312 8299940عرض سعر مجاني
Blog

Security headers: أضف الترويسات الخمس الآمنة خلال دقائق

شرح مبسّط لـ security headers: ماذا تفعل كل ترويسة، والأسطر الدقيقة لـ Apache وNginx، وكيف تفحصها مجانًا.

By the Denwix team 5 min read

ما هي security headers؟

security headers أسطر قصيرة يرسلها خادمك مع كل صفحة. وهي تخبر المتصفح كيف يحمي زوارك: البقاء على HTTPS، وعدم تخمين أنواع الملفات، وعدم السماح لمواقع أخرى بتأطير الصفحة، وغير ذلك.

لا تكلّف شيئًا ونادرًا ما تغيّر شكل الصفحة. ومع ذلك لا ترسل مواقع كثيرة أيًا منها. ففي العرض كان موقع جديد يفتقد الترويسات الست كلها، لذلك لم يتلقَّ المتصفح أي قواعد.

رسم: افحص الترويسات، وانسخ الأسطر لـ Apache أو Nginx، ثم أعد الفحص حتى تنجح خمس من ست
افحص ثم انسخ ثم أعد الفحص: معظم المواقع تحتاج دقائق قليلة.

الخطوة 1: افحص ما يرسله موقعك

أولًا، شغّل فاحص ترويسات HTTP المجاني على موقعك المنشور. فهو يقيّم كل ترويسة أمان ويعرض ما ينقص.

ثم يكتب الحل لك. اختر خادمك، مثل Apache أو Nginx، وانسخ الأسطر. وبذلك لا تكتب ترويسة بيدك أبدًا.

الترويسات الخمس الآمنة

هذه الخمس نادرًا ما تعطّل شيئًا، لذلك يمكن لكل موقع تقريبًا إضافتها اليوم.

Strict-Transport-Security

تُبقي الزوار على HTTPS حتى لو كتبوا http. وابدأ بقيمة max-age قصيرة كما يشرح دليل HSTS.

X-Content-Type-Options

القيمة nosniff تمنع المتصفح من تخمين أنواع الملفات. ونتيجة لذلك لا يمكن لملف رُفع كصورة أن يعمل فجأة كسكربت.

X-Frame-Options

القيمة SAMEORIGIN تمنع المواقع الأخرى من عرض صفحاتك في إطار. وهذا يوقف clickjacking، حيث يخدع إطار مخفي الناس ليضغطوا.

SAMEORIGIN أم DENY

استخدم DENY إذا لم تُعرض أي صفحة لك داخل إطار أبدًا. أما إذا كان موقعك يؤطّر صفحاته، مثل معاينة أو نموذج مضمّن، فاستخدم SAMEORIGIN.

Referrer-Policy

القيمة strict-origin-when-cross-origin تحدّ مما تعرفه المواقع الأخرى عن الصفحة التي جاء منها الزائر. فهي ترى نطاقك، لكن لا ترى المسار الكامل.

Permissions-Policy

تطفئ ميزات مثل الكاميرا والميكروفون والموقع الجغرافي في الصفحات التي لا تحتاجها. وإذا حاول سكربت استخدامها رغم ذلك، يرفض المتصفح.

كيف تضيفها على Apache

افتح ملف .htaccess في المجلد الرئيسي لموقعك وأضف هذه الأسطر في النهاية:

Header always set Strict-Transport-Security "max-age=300"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
عرض: أسطر الترويسات الخمس مضافة في نهاية ملف htaccess
توضع أسطر الترويسات الخمس في نهاية ملف htaccess.

احفظ الملف. يقرأه الخادم في الطلب التالي، لذلك لا يلزم أي إعادة تشغيل. وإذا ظهر خطأ 500، فقد تكون وحدة الترويسات معطلة؛ اطلب من الاستضافة تفعيل mod_headers.

كيف تضيفها على Nginx وCloudflare

على Nginx توضع الترويسات نفسها في كتلة خادم HTTPS كأسطر add_header. ثم أعد تحميل Nginx:

add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;

وعلى Cloudflare يمكنك إضافتها بقاعدة Transform Rule تضبط ترويسات الاستجابة. لكن إذا كان خادمك يرسلها بالفعل، فلا تضفها مرتين، لأن الترويسات المكررة تربك المتصفحات.

لماذا تأتي CSP أخيرًا

الترويسة السادسة، Content-Security-Policy، مستبعدة عن قصد. فالسياسة الخاطئة قد تعطّل الصفحة، لأنها تحظر السكربتات والأنماط غير الموجودة في قائمتها.

لذلك لها مسار خاص: ابدأ بوضع Report-Only، واقرأ وحدة التحكم، واسمح فقط بما تستخدمه. ويشرح دليل Content Security Policy ذلك خطوة بخطوة.

كيف تختبر بعد التغيير

شغّل فاحص ترويسات HTTP مرة أخرى. ففي العرض نجحت خمس من الترويسات الست بعد تعديل واحد.

بعد ذلك افتح الموقع وتنقّل فيه قليلًا. فيجب أن يُحمَّل كل شيء ويبدو كما هو، مع حماية إضافية. وأخيرًا كرر الفحص بعد كل نقل للخادم أو إضافة جديدة، لأن كليهما قد يحذف ترويسات دون تحذير.

أخطاء شائعة

  • بدء HSTS بقيمة max-age لسنة قبل أن يستقر HTTPS.
  • إرسال الترويسة نفسها مرتين، من الخادم ومن إضافة أو CDN.
  • نسيان always، فتخرج صفحات الخطأ بلا ترويسات.
  • وضع X-Frame-Options DENY بينما يستخدم موقعك إطارات، مثل نموذج حجز مضمّن.
  • نسخ Content-Security-Policy صارمة من موقع آخر دون اختبارها.

باختصار: افحص، وأضف الترويسات الخمس الآمنة، وأعد الفحص، وتعامل مع CSP وحدها. وللقائمة الكاملة للترويسات وقيمها راجع مرجع MDN لترويسات HTTP.

أسئلة وأجوبة

ما هي security headers؟

ترويسات استجابة تخبر المتصفح كيف يحمي الزوار، مثل البقاء على HTTPS أو رفض التأطير من مواقع أخرى.

ما security headers التي يحتاجها كل موقع؟

Strict-Transport-Security وX-Content-Type-Options وX-Frame-Options وReferrer-Policy وPermissions-Policy. ثم أضف Content-Security-Policy بعد اختبار دقيق.

هل تبطئ security headers موقعي؟

لا، لأنها أسطر نصية قصيرة، كما أن HSTS يزيل إعادة توجيه للزوار العائدين.

كيف أفحص security headers؟

شغّل فاحص ترويسات HTTP المجاني على رابطك. فهو يقيّم كل ترويسة ويكتب الأسطر الناقصة لخادمك.

أين أضيف security headers على Apache؟

في ملف .htaccess في المجلد الرئيسي للموقع، بأسطر Header always set.

كيف أضيف security headers على Nginx؟

استخدم أسطر add_header مع always في كتلة خادم HTTPS، ثم أعد تحميل Nginx.

هل يمكنني إضافة security headers على Cloudflare؟

نعم، بقاعدة Transform Rule لترويسات الاستجابة. لكن لا ترسلها من الخادم أيضًا، وإلا ظهرت مرتين.

ماذا تفعل X-Content-Type-Options nosniff؟

تمنع المتصفح من تخمين أنواع الملفات، لذلك لا يعمل ملف كنوع مختلف عما يقوله الخادم.

ماذا تفعل X-Frame-Options؟

تمنع المواقع الأخرى من عرض صفحاتك في إطار، وبذلك توقف clickjacking.

ما Referrer-Policy الجيدة؟

strict-origin-when-cross-origin. فترى المواقع الأخرى نطاقك، لكن لا ترى المسار الكامل.

ماذا تفعل Permissions-Policy؟

تطفئ ميزات المتصفح مثل الكاميرا والميكروفون والموقع في الصفحات التي لا تحتاجها.

لماذا ليست Content-Security-Policy في القائمة السريعة؟

لأن السياسة الخاطئة قد تعطّل الصفحة، لذلك تحتاج اختبارًا أولًا في Report-Only. ولها دليل خاص.

هل تساعد security headers في السيو؟

ليس مباشرة. لكنها تحمي الزوار، كما أن HSTS يزيل قفزة إعادة توجيه، وهذا يساعد السرعة.

لماذا لا تظهر ترويساتي؟

قد تكون وحدة headers في Apache معطلة، أو تحذفها شبكة CDN، أو تُعرض صفحة مخزنة. لذلك امسح الذاكرات وأعد الفحص.

ما X-XSS-Protection؟

ترويسة قديمة لمرشح أزالته المتصفحات الحديثة. لا تحتاجها؛ فـ Content-Security-Policy تقوم بالعمل الحقيقي.

هل يمكن لإضافات ووردبريس إضافة security headers؟

نعم، لكن قاعدة الخادم أسرع وتغطي أيضًا الملفات خارج ووردبريس. لذلك استخدم مصدرًا واحدًا.

هل تؤثر security headers على الصور أو الخطوط؟

الخمس الآمنة لا. فقط Content-Security-Policy يمكنها حظر الملفات، ولهذا تحتاج اختبارًا.

كم مرة أفحص ترويساتي؟

بعد كل نقل للخادم أو تغيير CDN أو إضافة أمان جديدة، لأن كلًا منها قد يحذف الترويسات أو يكررها.

هل يفحص مدقق السيو security headers؟

نعم. يعرض مدقق السيو لدينا كل ترويسة، ويقودك إلى هذا الدليل عندما تنقص إحداها.

هل ما زلت أحتاج X-Frame-Options مع CSP؟

توجيه frame-ancestors في CSP يحل محلها في المتصفحات الحديثة. لكن إبقاء الاثنين لا يضر ويغطي المتصفحات القديمة.

دليل بالفيديو

كيف تضيف security headers

في هذا الفيديو القصير تمرّ الأداة أمامك من أول خطوة إلى آخرها. اختر لغتك من القائمة بالأسفل، وفعّل الترجمة النصية إذا كانت تساعدك.

افحص security headers الآن

أدخل رابطك في فاحص ترويسات HTTP لتقييم كل ترويسة أمان ونسخ الأسطر الناقصة.