مقدمة

يشير خطأ 403 (Forbidden) إلى أن الخادم قد استلم الطلب لكنه يرفض الرد عليه: الوصول إلى المورد محظور بسبب التكوين أو قاعدة أمان. للاطلاع على تعريف تقني، راجع MDN — 403 Forbidden.

يقدّم هذا الدليل إجراءً منظَّمًا للتحقيق: فحوصات سريعة، تصحيحات شائعة عبر cPanel (مدير الملفات)، وفحص ملف .htaccess .htaccess، قواعد الأمان (WAF / ModSecurity)، الأذونات والسجلات. اتبع الخطوات واحدة تلو الأخرى وأرفق العناصر المطلوبة إذا فتحت تذكرة دعم.

المتطلبات

  • الوصول إلى cPanel (أو FTP/الطرفية) لقراءة/تعديل الملفات والأذونات. راجع: كيفية الوصول إلى cPanel.
  • نسخة احتياطية حديثة لمجلد الويب (public_htmlpublic_html) قبل أي تعديل.
  • القدرة على نسخ/لصق مخرجات الأوامر وأسطر السجلات إذا تواصلت مع الدعم.

فحوصات سريعة (قائمة التحقق)

  1. افتح الصفحة في وضع التصفح الخاص لاستبعاد تأثير ذاكرة التخزين المؤقت في المتصفح.
  2. اختبر من شبكة أخرى (4G أو عبر VPN) لاستبعاد حظر عنوان IP محلي أو من قِبل مزود الخدمة.
  3. تحقق من رمز HTTP من جهازك: curl -I -L https://votredomaine.tld/chemin curl -I -L https://votredomaine.tld/chemin. إذا كان السطر الأول هو HTTP/1.1 403 (أو HTTP/2 403), فإن الخادم قد أعاد 403.
  4. تحقق من وجود ملف فهرس (index.php, index.html) في الدليل المطلوب: غيابه بالاشتراك مع Options -Indexes Options -Indexes غالبًا ما يؤدي إلى 403.

خطوات التشخيص والتصحيحات (الترتيب الموصى به)

1) التأكد بدقة من رمز HTTP

  1. نفّذ curl -I -L https://votredomaine.tld/chemin curl -I -L https://votredomaine.tld/chemin من الطرفية. الخيار -I يعرض رؤوس الاستجابة، و-L يتبع عمليات إعادة التوجيه. -I يعرض رؤوس الاستجابة، -L يتبع عمليات إعادة التوجيه.
  2. دوّن السطر الأول (مثلاً HTTP/1.1 403 Forbidden) والـURI المطلوب. إذا أعادت الصفحة رمزًا آخر (404، 500...)، عدّل التشخيص.

2) اختبار المتصفح وعنوان IP

  • أفرغ ذاكرة التخزين المؤقت أو افتح نافذة في وضع التصفح الخاص/المتخفٍّ.
  • اختبر من شبكة أخرى (مثلاً عبر الهاتف المحمول) أو عبر VPN للتحقق مما إذا كان عنوان IP الخاص بك محظورًا.

3) التحقق من وجود ملف index والاختبار بملف بسيط

غياب ملف index + Options -Indexes يمنع العرض ويُعيد 403. للتحقق من ذلك من خلال cPanel:

  1. سجّل الدخول إلى cPanel → مدير الملفات (File Manager).
  2. افتح المجلد public_html (أو جذر الموقع). ابحث عن ملفات index (index.php, index.html).
مجلد public_html وأوامر مدير الملفات في cPanel
تحقّق من وجود ملف index في public_html (cPanel – مدير الملفات (File Manager)).

إذا لم يوجد ملف index، أنشئ مؤقتًا ملف اختبار:

  1. في مدير الملفات (File Manager): ملف جديد → سمّه index.html → حرّره وأضف <h1>OK</h1> → احفظ.
  2. أعد تحميل عنوان URL في متصفحك. إذا ظهرت صفحة الاختبار، فكان 403 مرتبطًا بغياب ملف index أو بقاعدة تتعلق بالفهرسة.
نموذج «ملف جديد» في مدير الملفات (File Manager) داخل cPanel
إنشاء ملف index بسيط عبر مدير الملفات لاختبار الوصول.

4) التحقق من الأذونات وتصحيحها (الملفات والمجلدات)

الأذونات غير الصحيحة سبب شائع لحدوث خطأ 403. الإجراء الموصى به عبر cPanel:

  1. cPanel → File Manager → انتقل إلى الملف/المجلد المعني.
  2. حدد العنصر → انقر على Permissions (أو انقر بزر الماوس الأيمن → Change Permissions) → اختر القيمة الرقمية.
مربعات القراءة والكتابة والتنفيذ لأذونات ملف في cPanel
تعديل أذونات ملف من خلال File Manager (cPanel).

إرشادات عملية:

  • الملفات: 644 644 (rw‑r‑r‑).
  • المجلدات: 755 755 (rwxr‑xr‑x).
  • قد تتطلب بعض خدمات الاستضافة 750 750 لمجلد public_html public_html — اتصل بالدعم إذا لم تكن متأكدًا.

للمستخدمين المتقدمين عبر الطرفية/SSH (أو cPanel Terminal):

cd ~/public_html
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
طرفية cPanel مع الأمر cd public_html للوصول إلى مجلد الويب
تنفيذ أوامر من الطرفية (مخصص للمستخدمين المتقدمين).

تحذير: لا تنفّذ أمر chown بنفسك؛ chown تغيير المالك يتطلب غالبًا صلاحيات root وقد يؤدي ذلك إلى تعطّل الوصول. اتصل بالدعم إذا اشتبهت بوجود مشكلة في الملكية.

5) التحقق من ملف .htaccess .htaccess

يمكن لملف .htaccess .htaccess أن يمنع الوصول عبر توجيهات DenyDeny، Require أو قواعد إعادة الكتابة التي تفرض حالة F (Forbidden). Require أو قواعد إعادة كتابة تفرض حالة F (Forbidden).

تحديد ملف .htaccess في مدير الملفات (File Manager) في cPanel
اعرض الملفات المخفية (dotfiles) ثم حدّد .htaccess في جذر الموقع.
  1. اعرض الملفات المخفية في مدير الملفات (File Manager) → حدّد .htaccess.
  2. قم أولاً بتنزيل نسخة احتياطية منه، ثم افتح الملف في وضع Code Editor / Edit.
  3. ابحث عن الأسطر المشبوهة وعلّقها مؤقتًا عن طريق إضافة # أمامها (مثلاً #Require all denied) → احفظ واختبر الصفحة.

الأسطر التي تتسبب غالبًا في خطأ 403:

  • Require all denied (يمنع أي وصول في Apache 2.4+).
  • Deny from (التركيب القديم في Apache).
  • RewriteRule .* - [F] (يفرض حالة Forbidden على أنماط معينة).
  • Options -Indexes + عدم وجود ملف index → 403 عند عرض قائمة المجلد.

إذا عاد الموقع للعمل بعد التعديل، أعد تطبيق القواعد اللازمة بشكل منظم وصحّح المنطق بدلًا من إزالة آليات الحماية.

6) البحث عن حظر بواسطة WAF / ModSecurity

قد يقوم جدار حماية تطبيقي (ModSecurity، Imunify360…) بحظر طلبات مشروعة نتيجة إيجاب كاذب.

الوصول إلى Imunify360 من لوحة تحكم cPanel
إذا كان Imunify360 (أو أي WAF) مفعلًا، فراجع تنبيهاته من داخل cPanel.
  1. افتح أداة WAF (Imunify360، واجهة ModSecurity) عبر cPanel إن كانت متوفرة وابحث عن حالات الحظر الأخيرة.
  2. راجع سجلات تدقيق ModSecurity (مقتطف modsec_audit) أو سجل أخطاء Apache حول الطابع الزمني.
  3. إذا كانت قاعدة تحظر طلبك، أرفق مقتطفًا من سجل التدقيق (audit) إلى فريق الدعم — واطلب منهم تصحيح القاعدة أو تخفيفها بدلًا من تعطيلها كليًا.

هام: لا تُعطّل جدار الحماية التطبيقي (WAF) على مستوى النظام دون مبرر؛ ذلك يعرض الموقع لمخاطر أمنية.

7) التحقق من حظر عنوان IP / جدار الحماية

قد يتسبب حظر عنوان IP (IP Blocker، fail2ban، Imunify360، أو CDN خارجي) في ظهور خطأ 403.

نموذج حظر عنوان IP في cPanel
تحقق من قائمة عناوين IP المحظورة عبر أداة IP Blocker في cPanel.
  1. cPanel → IP Blocker: ابحث عن عنوان IP الخاص بك (أو عنوان الزائر المتأثر) وقم بإلغاء الحظر إذا لزم الأمر.
  2. إذا كنت تستخدم CDN (Cloudflare، إلخ)، فتحقق أيضًا من تكوينه (قواعد جدار الحماية أو قيود عناوين IP).

8) حالة WordPress: الإضافات وقواعد الأمان

قد تتسبب إضافة أمان أو إضافة مُهيَّأة بشكل خاطئ في إرجاع خطأ 403. اختبار بسيط:

  1. cPanel → File Manager → افتح <code>wp-content</code> wp-content.
  2. أعد تسمية <code>plugins</code> plugins إلى <code>plugins.disabled</code> plugins.disabled (هذا يعطل جميع الإضافات) → اختبر الصفحة.
  3. إذا اختفى الخطأ، أعد تسمية المجلد إلى اسمه الأصلي ثم عطّل/أعد تفعيل الإضافات واحدًا تلو الآخر لعزل المسبب.
حوار إعادة تسمية مجلد plugins في WordPress داخل cPanel
إعادة تسمية المجلد <code>plugins</code> plugins يتيح تعطيل جميع الإضافات بسرعة.

9) مشاكل ملكية الملفات (suEXEC، PHP‑FPM)

إذا لم تكن الملفات مملوكة لمستخدم cPanel المتوقع، فقد يُرفض تنفيذها عبر suEXEC أو PHP‑FPM مما يؤدي إلى ظهور خطأ 403. تحقق من السجلات (suexec_log، سجلات أخطاء Apache).

التصحيح: إعادة الملكية (<code>chown</code>chown) هي عملية على مستوى الخادم تتطلب صلاحيات مسؤول؛ افتح تذكرة دعم إذا اشتبهت في هذا الأمر.

استكشاف الأخطاء وإصلاحها المتقدم والأوامر المفيدة

  • التحقق من رؤوس الاستجابة: curl -I -L https://votredomaine.tld/chemin
  • اختبر باستخدام User‑Agent بسيط: curl -I -A "curl" https://votredomaine.tld/
  • التقاط سجل الأخطاء من الخادم (إذا كان لديك وصول إلى الطرفية): tail -n 200 /var/log/apache2/error_log — مسارات سجلات الخادم تختلف حسب التكوين؛ اطلب المسار الدقيق من الدعم إذا لزم الأمر.
  • الحصول على حدث ModSecurity: أرفق مقتطفًا من ملف التدقيق (modsec_audit) الذي يتوافق مع الطابع الزمني.

متى تتصل بالدعم — ماذا يجب أن تزودهم به

إذا استمرت الصفحة في إرجاع 403 بعد هذه الفحوصات، افتح تذكرة دعم وأرفق العناصر التالية:

  1. عنوان URL الدقيق الذي يُرجع خطأ 403.
  2. الوقت/الأوقات والمنطقة الزمنية للحادث.
  3. مخرجات الأمر curl -I -L https://votredomaine.tld/chemin curl -I -L https://votredomaine.tld/chemin (نسخ/لصق).
  4. مقتطفات من سجلات الأخطاء و/أو ModSecurity (إن وُجدت) حول نفس الطابع الزمني.
  5. لقطة شاشة من مدير الملفات تُظهر الأذونات وملف .htaccess .htaccess (بدون معلومات حساسة).
  6. أشر إذا قمت مؤخرًا بتعديل الإضافات (plugins) أو القوالب (themes) أو الأذونات أو ملف .htaccess. .htaccess.

إذا لم تكن تعرف كيفية استرجاع هذه العناصر، اطلب من الدعم استخراج السجلات للفترة المحددة؛ قدّم عنوان URL والوقت الدقيق لتسريع البحث.

قيود واحتياطات

  • لا تُعطّل ModSecurity / WAF بشكل كامل دون تشخيص؛ اطلب فحص قاعدة محددة بدلاً من ذلك.
  • لا تُغيّر ملكية الملفات (chownchown) إلا إذا كان لديك صلاحيات root أو بناءً على تعليمات الدعم.
  • قم دائمًا بعمل نسخة احتياطية قبل تعديل ملف .htaccess .htaccess أو قبل تطبيق أوامر chmod chmod بشكل جماعي.
  • في الاستضافة المشتركة، تتطلب بعض الإجراءات (مثل الاطّلاع على سجلات الخادم أو تنفيذ chown) تدخل مسؤول النظام؛ جهّز تذكرة دعم إذا لزم الأمر.

ملخص سريع (إذا كنت مستعجلًا)

  1. تأكد من رمز 403 : curl -I -L https://votredomaine.tld/chemin.
  2. تحقق من ملف index : أنشئ مؤقتًا index.html عبر File Manager لاختبار الوصول.
  3. الأذونات : الملفات 644، المجلدات 755 (صحح عبر File Manager).
  4. افحص .htaccess (ابحث عن Require all denied، Deny from، [F] في قواعد RewriteRule).
  5. تحقّق من السجلات / ModSecurity؛ إذا كانت قاعدة تمنع الطلب، أرفق مقتطف السجل مع تذكرة الدعم ليقوم الفريق بمراجعته.

روابط داخلية مفيدة

مراجع عامة

هل تحتاج مساعدة لإعداد الرسالة المرفقة للدعم (مثلاً: عنوان URL + مخرجات curl -I + والإجراءات التي جُرِّبت بالفعل)؟ أستطيع إنشاء نموذج تذكرة جاهز للصق إذا زودتني بعنوان URL ومخرجات الأمر curl -I curl -I (دون إرسال كلمات المرور).

التوثيق المرجعي

  • MDN — 403 Forbidden (رمز حالة HTTP)
  • cPanel — File Manager (تغيير الأذونات)
  • cPanel — ملفات السجل لـ cPanel & WHM (modsec_audit، suexec_log)

تم الاطلاع على التوثيق في 16 أكتوبر 2026. قد تختلف الأدوات حسب مزود الاستضافة.