أداة فحص رؤوس أمان HTTP

راجع ترويسات استجابة HTTP المنسوخة دون إرسالها إلى خدمة فحص. يجري التحليل داخل المتصفح، ويقيّم ثمانية جوانب للإعداد، ويميّز بين الترويسة المفقودة والقيمة الضعيفة. لا يفتح عنوان URL ولا يفحص جسم الاستجابة ولا يثبت أن الموقع آمن.

كيفية تدقيق رؤوس الأمان في الموقع

  1. 1

    التقط الاستجابة النهائية

    اتبع عمليات إعادة التوجيه بأدوات المتصفح أو عميل HTTP موثوق، ثم انسخ ترويسات الاستجابة النهائية.

  2. 2

    الصق كتلة الترويسات

    استخدم زوجًا واحدًا بصيغة الاسم: القيمة في كل سطر. يُقبل سطر حالة HTTP لكنه يُتجاهل.

  3. 3

    اقرأ الفحوص الدلالية

    تعتمد حالات ناجح ويحتاج مراجعة ومفقود على القيم المعروفة، لا على وجود اسم الترويسة فقط.

  4. 4

    اختبر التغييرات في سياقها

    طبّق السياسات بحذر وأعد اختبار الصفحة الفعلية، فقد تحجب CSP وCOEP وPermissions-Policy وظائف مطلوبة.

ما الذي تعنيه الدرجة المحلية وما الذي لا تعنيه

الدرجة قائمة تحقق للإعدادات وليست فحص ثغرات أو شهادة أمان. تمنح نقطتين لقيمة قوية معروفة، ونقطة لقيمة تحتاج إلى مراجعة، وصفرًا عند غياب التحكم أو عدم صلاحية قيمته.

الفحوص المشمولة

المجال الإشارة القوية التي تعتمدها الأداة القيد المهم
HSTS max-age موجب لا يقل عن 180 يومًا مع includeSubDomains لا ترسل HSTS إلا عبر HTTPS وتأكد من دعم كل النطاقات الفرعية
CSP سياسة مطبقة تقيد مصادر السكربت دون * أو 'unsafe-inline' أو 'unsafe-eval' يجب تصميم CSP حسب التطبيق واختبارها فعليًا
التضمين frame-ancestors مطبق في CSP، أو X-Frame-Options: DENY/SAMEORIGIN كحل قديم تعطي المتصفحات الداعمة الأولوية لـ frame-ancestors
MIME القيمة X-Content-Type-Options: nosniff يظل على الخادم إرسال Content-Type صحيح
المُحيل سياسة مثل strict-origin-when-cross-origin أو no-referrer اختر ما يلائم التحليلات والخصوصية
ميزات المتصفح تغلق Permissions-Policy ميزة واحدة على الأقل بصيغة feature=() ولا تحتوي قائمة سماح شاملة لا تستطيع الأداة إثبات ملاءمة كل قائمة سماح
العزل عبر الأصول COOP: same-origin وقيمة COEP معروفة قد تعطل هذه الرؤوس النوافذ المنبثقة أو الموارد الخارجية

لا تُمنح نقاط لترويسة X-XSS-Protection القديمة. تظهر القيمة غير الصفرية كملاحظة فقط لأن الإرشادات الحديثة تفضل CSP. كما أن Server وX-Powered-By ملاحظات إفصاح وليست دليلًا على ثغرة.

تستند القواعد الفنية إلى دليل OWASP لرؤوس HTTP وCSP Level 3 من W3C وRFC 6797. لا تكشف الكتلة الملصقة ما إذا وصلت الترويسات عبر HTTPS، أو ما إذا كانت الشهادة صالحة، أو ما إذا غيّرت التحويلات السياسة، أو ما إذا تلقى المتصفح استجابة مخزنة مختلفة.

الخصوصية والتخزين في المسار

يجري التحليل واحتساب الدرجة داخل هذا المتصفح. لا تصبح الترويسات الخام خصائص خوادمنا ولا تدخل عنوان URL. في وضع المسار يشير معرّف عشوائي إلى سجل في sessionStorage تنتهي صلاحيته بعد 30 دقيقة من إنشائه، ولا تتجدد الصلاحية عند فتحه مجددًا. يُحتفظ بثلاثة سجلات حالية كحد أقصى، ويوقف فشل التخزين الانتقال بدل إرسال البيانات إلى مكان آخر.

الأسئلة الشائعة

الوجود وحده لا يكفي. مثلًا، تعطل max-age=0 ترويسة HSTS، ولا تقبل X-Content-Type-Options إلا القيمة nosniff.

مرشح المتصفح قديم وقد يسبب مشكلات. توصي الإرشادات الحديثة بسياسة CSP مصممة جيدًا، وغالبًا بحذف الترويسة أو ضبطها على 0.

لا. يبقى التحليل داخل المتصفح. في المسار تُحفظ الكتلة مؤقتًا في sessionStorage بمعرّف مبهم لمدة ثابتة لا تتجاوز 30 دقيقة.

ليس تلقائيًا. يتيح العزل عبر الأصول قدرات محددة لكنه قد يحجب تكاملات أو نوافذ منبثقة أو موارد. راجع متطلبات التطبيق قبل النشر.

لا. لا تتصل الأداة بالموقع. انسخ ترويسات الاستجابة النهائية من أدوات المتصفح أو عميل HTTP موثوق.

لا. فهي تغطي قائمة محدودة من الترويسات ولا تختبر التطبيق أو TLS أو المصادقة أو التبعيات.

تجمع Content-Security-Policy-Report-Only التقارير لكنها لا تفرض القيود. تفيد في التجهيز للنشر ولا توفر وحدها حماية نشطة.

frame-ancestors هو التحكم الحديث وله الأولوية في المتصفحات الداعمة. يمكن إبقاء X-Frame-Options احتياطًا للعملاء الأقدم.

أدوات ذات صلة