العربية

كيف أعالج خطأ Forbidden 403 عند محاولة الوصول إلى لوحة تحكم WordPress؟

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

5 دقائق قراءة
كيف أعالج خطأ Forbidden 403 عند محاولة الوصول إلى لوحة تحكم WordPress؟

يعني ظهور خطأ 403 Forbidden عند محاولة الدخول إلى لوحة تحكم WordPress أن خادم الويب قد استلم الطلب وفهمه، ولكنه يرفض تنفيذه بشكل قاطع. نحن في Hostna نشغّل خوادمنا في ألمانيا وفق معايير أمنية صارمة، وغالباً ما يكون هذا الخطأ نتيجة لتعارض في أذونات الملفات أو قواعد جدار حماية تطبيق الويب التي تحمي موقعك من الهجمات المنسقة.

العرض السبب المحتمل الحل التقني
رسالة Access Denied في wp-admin أذونات مجلد خاطئة تغيير أذونات المجلدات إلى 755
خطأ بعد تثبيت إضافة أمان قواعد .htaccess صارمة إعادة بناء ملف .htaccess الافتراضي
حظر عند محاولة حفظ الإعدادات تداخل مع ModSecurity تعطيل القاعدة المسببة في Plesk

تحليل سجلات الخطأ لتحديد السبب الجذري

قبل البدء في تغيير أي إعدادات، يجب عليك فحص سجلات الخطأ (Error Logs) الخاصة بموقعك. في بيئة الاستضافة التي نعتمدها، يتم تخزين هذه السجلات في مجلد logs الموجود بجانب مجلد httpdocs. يمكنك الوصول إليها عبر SSH أو من خلال مدير الملفات في لوحة التحكم.

ابحث عن الأسطر التي تحتوي على client denied by server configuration أو ModSecurity: Access denied. إذا وجدت رقماً بجانب القاعدة مثل [id "949110"]، فهذا يعني أن جدار الحماية هو من قام بحظرك. يمكنك استخدام الأمر التالي عبر SSH لمراقبة الأخطاء في الوقت الفعلي:

tail -f ~/logs/error_log

تصحيح أذونات الملفات والمجلدات عبر SSH

تعد الأذونات الخاطئة السبب الأكثر شيوعاً لخطأ 403. يجب أن تكون جميع المجلدات في ووردبريس مضبوطة على 755 والملفات على 644. إذا تم ضبط مجلد wp-admin على 700 أو 600، فلن يتمكن خادم الويب (مثل Apache أو nginx) من قراءة المحتوى.

لتصحيح الأذونات بشكل جماعي وآمن، يمكنك تشغيل الأوامر التالية من داخل مجلد httpdocs:

find . -type d -exec chmod 755 {} ;
find . -type f -exec chmod 644 {} ;

تأكد أيضاً من أن ملف wp-config.php يحمل أذونات 600 أو 640 لتعزيز الحماية، حيث يحتوي على بيانات الاتصال بقاعدة البيانات. إذا كنت تستخدم بروتوكول HTTP للوصول، فإن أي خلل في هذه الأرقام سيؤدي مباشرة إلى حظر الوصول.

إعادة ضبط ملف .htaccess وقواعد التوجيه

ملف .htaccess هو المسؤول عن توجيه الطلبات في خوادم Apache. أحياناً تقوم إضافات الأمان بكتابة قواعد تمنع الوصول إلى ملفات معينة أو تمنع عناوين IP معينة. لحل هذه المشكلة، قم بتغيير اسم الملف الحالي إلى .htaccess_old وإنشاء ملف جديد يحتوي على القواعد الافتراضية لـ WordPress:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

عند استخدام وثائق ووردبريس الرسمية، ستجد أن هذه القواعد تضمن توجيه كافة الطلبات إلى index.php بشكل صحيح دون قيود إضافية قد تسبب الخطأ 403.

التعامل مع ModSecurity في لوحة التحكم Plesk

في خوادمنا في ألمانيا، نستخدم ModSecurity كطبقة حماية إضافية. أحياناً، قد يتم اعتبار محاولة الدخول المتكررة أو استخدام بعض الرموز في لوحة التحكم كنشاط مشبوه. إذا تأكدت من سجلات الخطأ أن ModSecurity هو السبب، يمكنك التوجه إلى حسابك في لوحة التحكم ثم إلى إعدادات Web Application Firewall.

بدلاً من تعطيل الحماية بالكامل، ابحث عن رقم القاعدة (ID) الذي ظهر في السجل وقم بإضافته إلى قائمة الاستثناءات. هذا يحافظ على أمان الموقع مع السماح لك بالوصول. تذكر أن زمن الاستجابة (Latency) من دول الخليج مثل السعودية والإمارات إلى خوادمنا في ألمانيا يتراوح تقريباً بين 100–130 ملّي ثانية، وهو زمن ممتاز لا ينبغي أن يتسبب في انقطاع الاتصال (Timeout) الذي قد يُفسر خطأً كحظر.

فحص إضافات الأمان وحظر العناوين

إذا كنت تستخدم إضافات مثل Wordfence أو Sucuri، فقد تكون هي المسؤولة عن الخطأ 403. تقوم هذه الإضافات أحياناً بحظر نطاقات عناوين IP كاملة. إذا وجدت نفسك محظوراً، يمكنك تعطيل الإضافات مؤقتاً عن طريق إعادة تسمية مجلد الإضافة عبر SFTP في المسار wp-content/plugins.

من المهم أيضاً التأكد من إعدادات PHP-FPM. في بعض الحالات، إذا وصل عدد العمليات إلى pm.max_children، قد يبدأ الخادم في رفض الطلبات الجديدة، وإن كان هذا يؤدي عادة لخطأ 503، إلا أن بعض التكوينات قد تظهرها كـ 403 إذا كان الرفض يتم على مستوى جدار الحماية قبل وصول الطلب لمعالج PHP.

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

عند اختيار سيرفر في ألمانيا، تأكد من توافق إعدادات DNS الخاصة بك. في بعض الأحيان، يؤدي تفعيل DNSSEC أو وجود سجلات CAA خاطئة إلى مشاكل في التحقق من الهوية تظهر على شكل أخطاء وصول. يمكنك مراجعة خياراتك عند حجز الدومين وتفعيله للتأكد من أن جميع السجلات تشير إلى العناوين الصحيحة دون تداخل.

ماذا تفعل إذا استمرت المشكلة؟

إذا قمت بتصحيح الأذونات، وإعادة بناء .htaccess، والتأكد من ModSecurity، ولا يزال الخطأ 403 يظهر، فقد يكون هناك حظر على مستوى الشبكة (IP Block) في جدار الحماية الخاص بالخادم IPTables/Firewalld. في هذه الحالة، يرجى التواصل مع فريق الدعم الفني وتزويدهم بالمعلومات التالية باللغة الإنجليزية:

  • عنوان IP الخاص بك (يمكنك الحصول عليه عبر البحث عن what is my IP).
  • الوقت الدقيق لمحاولة الوصول بتوقيت مكة المكرمة أو دبي.
  • لقطة شاشة أو نص الخطأ الظاهر في logs/error_log.

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

كُتبت هذه المقالة بمساعدة الذكاء الاصطناعي ضمن خط البحث الخاص بـ Hostna ونُشرت دون مراجعة فردية. أخبرنا إن وجدت خطأ فيها.

أسئلة شائعة3
u0647u0644 u064au0633u0628u0628 u0645u0644u0641 .htaccess u062eu0637u0623 403 u062fu0627u0626u0645u0627u064bu061f

u0644u064au0633 u062fu0627u0626u0645u0627u064bu060c u0648u0644u0643u0646u0647 u0623u062du062f u0627u0644u0623u0633u0628u0627u0628 u0627u0644u0631u0626u064au0633u064au0629. u0625u0630u0627 u0627u062du062au0648u0649 u0627u0644u0645u0644u0641 u0639u0644u0649 u0642u0648u0627u0639u062f u062au0648u062cu064au0647 u062eu0627u0637u0626u0629 u0623u0648 u062au0639u0644u064au0645u0627u062a u062au062du0638u0631 u0639u0646u0627u0648u064au0646 IP u0645u0639u064au0646u0629u060c u0641u0633u064au0642u0648u0645 u062eu0627u062fu0645 Apache u0628u0631u0641u0636 u0627u0644u0637u0644u0628 u0645u0628u0627u0634u0631u0629 u0648u0625u0638u0647u0627u0631 u062eu0637u0623 403 Forbidden. u064au064fu0646u0635u062d u062fu0627u0626u0645u0627u064b u0628u062au062cu0631u0628u0629 u0645u0644u0641 u0627u0641u062au0631u0627u0636u064a u0644u0644u062au0623u0643u062f u0645u0646 u0623u0646 u0627u0644u0645u0634u0643u0644u0629 u0644u064au0633u062a u0628u0631u0645u062cu064au0629 u062fu0627u062eu0644 u0647u0630u0627 u0627u0644u0645u0644u0641.

u0643u064au0641 u0623u0641u0631u0642 u0628u064au0646 u062eu0637u0623 401 u0648u062eu0637u0623 403 u0641u064a u0648u0648u0631u062fu0628u0631u064au0633u061f

u062eu0637u0623 401 u064au0639u0646u064a u0623u0646 u0627u0644u062eu0627u062fu0645 u064au062du062au0627u062c u0625u0644u0649 u0645u0635u0627u062fu0642u0629 (u0627u0633u0645 u0645u0633u062au062eu062fu0645 u0648u0643u0644u0645u0629 u0645u0631u0648u0631) u0644u0645 u062au062au0648u0641u0631 u0628u0639u062fu060c u0628u064au0646u0645u0627 u062eu0637u0623 403 u064au0639u0646u064a u0623u0646 u0627u0644u062eu0627u062fu0645 u064au0639u0631u0641 u0645u0646 u0623u0646u062a (u0623u0648 u0644u0627 u064au0647u062au0645) u0648u0644u0643u0646u0647 u064au0631u0641u0636 u0645u0646u062du0643 u0627u0644u0625u0630u0646 u0628u0627u0644u0648u0635u0648u0644 u0644u0644u0645u062cu0644u062f u0623u0648 u0627u0644u0645u0644u0641 u0627u0644u0645u0637u0644u0648u0628 u0646u0647u0627u0626u064au0627u064bu060c u063au0627u0644u0628u0627u064b u0628u0633u0628u0628 u0627u0644u0623u0630u0648u0646u0627u062a u0627u0644u062au0642u0646u064au0629 644 u0623u0648 755.

u0647u0644 u064au0645u0643u0646 u0644u0640 ModSecurity u062du0638u0631 u0644u0648u062du0629 u062au062du0643u0645 u0648u0648u0631u062fu0628u0631u064au0633u061f

u0646u0639u0645u060c ModSecurity u0647u0648 u062cu062fu0627u0631 u062du0645u0627u064au0629 u064au0641u062du0635 u0627u0644u0637u0644u0628u0627u062a. u0625u0630u0627 u0642u0645u062a u0628u062du0641u0638 u0645u0642u0627u0644 u064au062du062au0648u064a u0639u0644u0649 u0623u0643u0648u0627u062f u0628u0631u0645u062cu064au0629u060c u0642u062f u064au0638u0646 u0627u0644u062cu062fu0627u0631 u0623u0646u0647u0627 u0645u062du0627u0648u0644u0629 u0627u062eu062au0631u0627u0642 (SQL Injection) u0648u064au0635u062fu0631 u062du0638u0631u0627u064b u0628u0631u0645u0632 403. u0641u064a u0647u0630u0647 u0627u0644u062du0627u0644u0629u060c u064au062cu0628 u0627u0633u062au062bu0646u0627u0621 u0631u0642u0645 u0627u0644u0642u0627u0639u062fu0629 u0627u0644u0645u0633u0628u0628u0629 u0644u0644u062du0638u0631 u0645u0646 u0625u0639u062fu0627u062fu0627u062a u062cu062fu0627u0631 u0627u0644u062du0645u0627u064au0629 u0641u064a u0644u0648u062du0629 u062au062du0643u0645 Plesk.