403 ليست 401، وليست 404
401 Unauthorized تعني أن الخادم يريد بيانات اعتماد، أو أن التي أرسلتها لم تُقبل. إرسال بيانات اعتماد صحيحة يغيّر الجواب.
403 Forbidden تعني أن بيانات الاعتماد ليست المشكلة. الطلب فُهم ورُفض. تسجيل الدخول قد لا يساعد، لأن ما رفضك قد لا يهتم بهويتك أصلًا.
404 تُستخدم أحيانًا عمدًا بدل 403 لتجنّب تأكيد وجود مسار ما. إن كنت تصادف 403 في بيئة و404 في أخرى لنفس الرابط، فذلك الفرق خيار إعداد لا عطل.
الطبقة 1 — أصلك رفضه
الحالة الأوضح. الملف موجود لكن خادم الويب لا يقدّمه: أذونات مجلد تستثني مستخدم الويب، أو مجلد بلا ملف index وإدراج القائمة معطّل، أو قاعدة .htaccess أو deny في nginx، أو تطبيق يفحص دورًا ما ويعيد 403 بنفسه.
كيف تتعرف عليها. صفحة الخطأ تشبه حزمتك التقنية: صفحة Apache أو nginx الافتراضية، أو شاشة "ليس لديك صلاحية وصول" المصمَّمة الخاصة بتطبيقك. سجل وصول أصلك يحوي الطلب برمز حالة 403 — وهذه هي العلامة الفارقة، لأن الطلب وصل إلى الأصل أصلًا.
الطبقة 2 — قاعدة WAF تطابقت
جدار حماية تطبيقات الويب يفحص الطلب ويحجبه حين يطابق توقيع هجوم. هذه هي الطبقة التي تُنتج حالات 403 المربكة، لأن الطلب يبدو بريئًا تمامًا لمن أرسله.
الإيجابيات الكاذبة المعتادة ليست غريبة: محرر نظام إدارة محتوى يحفظ مقالًا يحتوي كلمة SELECT في نموذج شيفرة، أو حقل نموذج يحمل مقتطف HTML، أو وصف منتج بفاصلة عليا في موضع معين. مجموعات القواعد التي تأتي مع أي WAF مكتوبة لالتقاط محاولات الحقن، والنص البشري يشبهها أحيانًا.
على cdn.com.tr الـ WAF هو ModSecurity مع مجموعة قواعد OWASP الأساسية، والطلب المحجوب يحصل على صفحة 403 بهوية العلامة التجارية تحمل معرّفًا مرجعيًا. هذا المعرّف هو بيت القصيد: إنه مُعرِّف الطلب المكتوب في سجل التدقيق، فتستطيع البحث عن القاعدة التي تطابقت بالضبط وعلى أي حقل، بدل التخمين. صفحة سجل WAF في اللوحة تسرد الأحداث المحجوبة مع فئة الهجوم والدولة وعنوان IP والقاعدة التي أُطلقت.
الإصلاح الذي يُبقيك محميًا. استثنِ الحقل المحدد على المسار المحدد — مثلًا نص المقال على رابط المحرر — بدل تعطيل عائلة قواعد بأكملها في كل مكان أو إيقاف WAF عن الموقع. استثناء ضيق لا يكلّفك شيئًا؛ أما استثناء واسع فيزيل الحماية بهدوء عن كل صفحة أخرى.
الطبقة 3 — حظر حسب الدولة أو الشبكة
الحظر الجغرافي وحظر الشبكة يُفرضان قبل وصول الطلب إلى تطبيقك، وينتجان 403 أيضًا. إن كانت لديك قائمة سوداء لدولة ما، فكل من في تلك الدولة يرى الرفض. وإن كنت تحظر حسب ASN — رقم النظام المستقل، الذي يغطي شبكة مزوّد كاملة — فكل زائر على ذلك المزوّد يُرفض، وهي شبكة أوسع بكثير مما توحي به.
الفخ الذي يستحق معرفته. مشغّلو الهاتف المحمول يضعون ملايين المشتركين العاديين خلف حفنة من قيم ASN، وعناوين IP للهاتف المحمول تتبدل. زائر كان يعمل بلا مشكلة على واي فاي قد يُرفض على بيانات الهاتف المحمول ويصف ذلك بأن "الموقع معطّل على هاتفي". إن كانت تقارير 403 لديك تتجمّع على شبكات الهاتف المحمول، فانظر إلى قوائم الحظر قبل أن تنظر إلى تطبيقك.
حالات الحظر من هذا النوع تستحق تدقيقًا دوريًا. القاعدة التي تُضاف أثناء حادثة ما تميل إلى البقاء بعد انتهاء تلك الحادثة.
الطبقة 4 — حماية Hotlink وقوائم IP
حماية Hotlink ترفض طلبات صورك وملفاتك حين تكون ترويسة Referer موقعًا آخر. تؤدي عملها، لكنها ترفض أيضًا زيارات مشروعة نسيتها: نطاق staging الخاص بك، أو عميل بريد إلكتروني يعرض صورة، أو تطبيق لا يرسل referer إطلاقًا. العرض محدد ويمكن التعرف عليه — الصفحات تُحمَّل، والصور لا.
قوائم السماح والحظر لعناوين IP هي أفظ الطبقات. قائمة سماح على مسار إداري ضابط ممتاز إلى اليوم الذي يتغيّر فيه عنوان IP لمكتبك ولا يتذكر أحد أن القائمة موجودة أصلًا. حين يؤثر 403 في شخص واحد بالضبط ولا أحد غيره، هذا عادةً هو السبب.
كيف تجد السبب بالترتيب
اعمل من الخارج إلى الداخل. يستغرق ذلك دقائق ويتفوق على التخمين.
1. اقرأ صفحة الخطأ. صفحة بهوية العلامة التجارية مع معرّف مرجعي تعني قرارًا عند الحافة — قاعدة WAF، أو حظر جغرافي أو ASN. صفحة الخادم الافتراضية أو تصميم تطبيقك الخاص يعني أن الأصل هو من قرر.
2. إن وُجد معرّف مرجعي، ابحث عنه. سجل WAF يمنحك معرّف القاعدة، والحقل المتطابق، والقيمة التي أطلقته. هذا أسرع طريق من العرض إلى السبب، ويحوّل المحادثة من "الموقع يحجبني أحيانًا" إلى "القاعدة 942100 تطابقت مع نص المقال".
3. تحقق مما إذا كان الأمر يخصك وحدك. اسأل من شبكة أخرى أو اتصال هاتف محمول. إن كان يخصك وحدك، انظر إلى قوائم IP. إن كان يخص الجميع من دولة واحدة، انظر إلى حظرك الجغرافي.
4. تحقق مما إذا كان الأمر يخص مسارًا واحدًا فقط. رابط واحد يرفض بينما بقية الموقع يعمل يشير إلى قواعد الأصل نفسها أو قاعدة WAF مربوطة بذلك المسار.
5. عندئذ فقط انظر إلى الأصل. إن كان الطلب لا يظهر أبدًا في سجل وصول أصلك، فقد رُفض قبل أن يصل إليه، ولن يفيد أي تغيير تجريه على الأصل.
إصلاحه دون فقدان الحماية
الغريزة حين يحجب WAF طلبًا مشروعًا هي إيقافه عن ذلك الموقع. ينجح ذلك، بمعنى أن العرض يختفي، لكنه يزيل الحماية عن كل طلب آخر لم تكن تفكر فيه.
تسلسل أفضل: أعد إنتاج الحجب، اقرأ معرّف القاعدة من السجل، اكتب استثناءً لتلك القاعدة على ذلك الحقل وذلك المسار، ثم أعد الإنتاج مجددًا للتأكد من أن الطلب يمر وأن القاعدة ما زالت تعمل في أماكن أخرى. على cdn.com.tr هذا بالضبط ما صُممت له قواعد التوصيل وإعدادات الأمان الجاهزة — يعيش الاستثناء في الإعداد، ويُنشر إلى كل حافة، ويظهر في سجل النشاط مع الشخص الذي أجراه والقيم قبله وبعده.
إن لم تستطع إعادة إنتاج الحجب، فلا تبدأ بكتابة استثناءات. استثناء لقاعدة لم تكن السبب هو إزالة حماية بلا فائدة.
الأسئلة الشائعة حول 403 Forbidden
لماذا يعمل الرابط نفسه في متصفح ولا يعمل في آخر؟
الطلب ليس متطابقًا. عوامل مستخدم مختلفة، وملفات تعريف ارتباط مختلفة، وعلى وجه الخصوص شبكات مختلفة — متصفح على واي فاي وآخر على بيانات الهاتف المحمول يغادران من عنوانَي IP مختلفين. إن كان الرفض يتبع الشبكة لا المتصفح، فانظر إلى حظر IP أو الدولة أو ASN بدل تطبيقك.
الـ WAF يحجب محرري الخاص عند حفظ مقال. ما الذي أغيّره؟
اعثر على معرّف القاعدة من الحدث المحجوب، ثم استثنِ تلك القاعدة للحقل الذي يرسله المحرر على رابط المحرر. لا تستثنِ المسار كله ولا تعطّل عائلة القواعد عن الموقع: القواعد نفسها تحمي بقية نماذجك، ومحاولات الحقن تصل عبر الحقول نفسها التي يصل عبرها النص المشروع.
هل يمكن تخزين 403 مؤقتًا؟
يمكن ذلك، و403 مخزَّن مؤقتًا مفاجأة غير سارة لأن السبب يختفي بينما يبقى العرض. عمومًا ينبغي تقديم استجابات الخطأ بمدة صلاحية (TTL) قصيرة أو عدم تخزينها مؤقتًا إطلاقًا. إن أصلحت السبب وما زال الزوار يرون الرفض، فرّغ المسار قبل أن تواصل التصحيح.
المعرّف المرجعي على صفحة الخطأ — ما فائدته؟
هو مُعرِّف ذلك الطلب بعينه في سجل التدقيق. يمكن للزائر أن يرسله إليك فتبحث عن القاعدة التي أُطلقت، وعلى أي حقل، وبأي قيمة. بدونه، يكاد يكون التحقيق في بلاغ "403 أحيانًا" مستحيلًا.
هل يضر 403 بتحسين محركات البحث (SEO) لدي؟
403 على صفحة تريدها مفهرسة يضر فعلًا، لأن الزاحف يُرفض كأي عميل آخر وسيُسقط الرابط عاجلًا. الحالة التي تستحق المراقبة هي حظر مفرط الاتساع يلتقط زواحف محركات البحث — تحقق من أن الصفحات التي تهمك تجيب بـ 200 لزاحف، لا لمتصفحك فقط.