HTTP 403 "ممنوع": الأسباب والمنع والإصلاح
نشرت: 2023-09-01- ما هو HTTP 403؟
- أسباب شائعة
- تشخيص
- كيف تمنع
- كيف تصلحها
- الأخطاء ذات الصلة
HTTP 403، يعني "ممنوع" ويشير إلى أن طلب العميل مفهوم من قبل الخادم، لكنه يرفض تنفيذه.
تهدف هذه المقالة إلى تسليط الضوء على جوهر HTTP 403، وكشف أسبابه الشائعة، وتوجيه تشخيصه، وتقديم تقنيات الوقاية والحل.
سنقوم أيضًا بتسليط الضوء على الأخطاء ذات الصلة لتوفير فهم شامل.
ما هو HTTP 403؟
HTTP 403 هو رمز الحالة الذي يشير إلى "ممنوع". عند مواجهته، يخبر العميل أن الخادم يفهم الطلب ولكنه يرفض إكماله.
على عكس الحالة 401 "غير مصرح به" ، والتي تتعلق بمشكلات مصادقة المستخدم، يشير الخطأ 403 إلى أن المصادقة ربما كانت ناجحة، ولكن المستخدم الذي تمت مصادقته لا يزال لا يملك الأذونات اللازمة للوصول إلى المورد المطلوب.
أسباب شائعة
يمكن أن تنشأ أخطاء HTTP 403 نتيجة لمجموعة متنوعة من الظروف:
- أذونات غير كافية : قد لا يكون لدى المستخدم الأذونات اللازمة للوصول إلى مورد معين على الخادم.
- القيود الجغرافية : قد يقتصر بعض محتوى الويب على مستخدمين من مناطق أو بلدان معينة.
- حظر IP : قد تقوم الخوادم بحظر عناوين IP معينة بسبب مخاوف أمنية أو أنشطة مشبوهة سابقة.
- قواعد .htaccess الصارمة : يمكن أن تؤدي القواعد غير الصحيحة أو المقيدة بشكل مفرط في ملف .htaccess على خوادم Apache إلى أخطاء 403.
- بروتوكولات أمان الخادم : قد تحتوي بعض الخوادم على بروتوكولات أمان تمنع الطلبات من وكلاء مستخدمين أو متصفحات معينة.
تشخيص
لتحديد السبب الجذري لخطأ HTTP 403، اتبع الخطوات التالية:
- عنوان URL للمراجعة : تأكد من الوصول إلى عنوان URL الصحيح وعدم وجود أخطاء إملائية.
- فحص سجلات الخادم : يمكن أن توفر سجلات الخادم رؤى حول سبب رفض طلب معين.
- التحقق من ملف .htaccess : بالنسبة لمواقع الويب التي تعمل على Apache، يمكن أن تؤدي مراجعة ملف .htaccess إلى تحديد أي قواعد مقيدة بشكل مفرط.
كيف تمنع
يتضمن تجنب أخطاء HTTP 403 خطوات استباقية لضمان التفاعلات السلسة بين الخادم والعميل:
- مراجعة الأذونات بانتظام : قم بفحص الأذونات وضبطها بشكل دوري للتأكد من قدرة المستخدمين على الوصول إلى الموارد الضرورية.
- قم بتحديث ملف htaccess بعناية : عند تعديل ملف htaccess، افعل ذلك بحذر واحتفظ دائمًا بالنسخ الاحتياطية.
- مراقبة أمان الخادم : ابق على اطلاع دائم ببروتوكولات أمان الخادم لمنع الانسداد غير المقصود.
كيف تصلحها
تعتمد معالجة الخطأ 403 على السبب الأساسي له:
1. ضبط الأذونات
تأكد من منح الأذونات الصحيحة للمستخدمين أو الأدلة التي تتطلب الوصول. (اقرأ أكثر)
2. إصلاح مشكلات .htaccess
- النسخ الاحتياطي لملف
.htaccess
الخاص بك : قم دائمًا بعمل نسخة احتياطية من ملف.htaccess
قبل إجراء أي تغييرات. - التحقق من توجيهات الرفض : ابحث عن أي توجيهات
Deny
في ملف.htaccess
الخاص بك. إذا كانت موجودة، فمن المحتمل أنها تسبب الخطأ 403. على سبيل المثال:Order allow,deny Deny from all
لحل هذه المشكلة، إما إزالة التوجيه أو تعديله للسماح بحركة المرور المطلوبة. - الحماية بكلمة مرور : إذا كانت بعض الأدلة محمية بكلمة مرور باستخدام
AuthType
وAuthName
وAuthUserFile
وRequire
، فتأكد من أن لديك بيانات الاعتماد الصحيحة للوصول إليها. إذا كنت لا تريد الحماية بكلمة مرور، فيمكنك التعليق على هذه التوجيهات أو إزالتها. - أذونات الملف : على الرغم من أن هذا ليس حلاً
.htaccess
بشكل صارم، تأكد من أن الملفات والأدلة لديك لديها الأذونات الصحيحة. بالنسبة للعديد من الخوادم، يكون إعداد الأذونات النموذجي هو:- المجلدات: 755
- الملفات: 644
- قوائم الدليل : إذا كنت تحاول الوصول إلى دليل لا يحتوي على ملف فهرس (مثل
index.html
أوindex.php
) وكانت قوائم الدليل معطلة، فقد تحصل على خطأ 403. يمكنك إما:- إضافة ملف فهرس إلى الدليل.
- تمكين قوائم الدليل باستخدام:
Options +Indexes
- قواعد Mod_Rewrite : إذا كنت تستخدم قواعد mod_rewrite، فتأكد من كتابتها بشكل صحيح. يمكن أن تؤدي القواعد غير الصحيحة أحيانًا إلى أخطاء 403. قم بالتعليق على قواعد محددة لمعرفة ما إذا كانت هي السبب.
- التحقق من قيود الملفات : ابحث عن القواعد التي تقيد الوصول بناءً على اسم الملف، مثل:
<Files "secretfile.php"> Order allow,deny Deny from all </Files>
اضبط هذه القواعد أو أزلها حسب الضرورة. - تأكد من بناء جملة .htaccess : يمكن أن يتسبب ملف
.htaccess
المكتوب بشكل غير صحيح أو الملف الذي يحتوي على توجيهات غير صالحة في حدوث خطأ 403. تأكد من صحة كافة التوجيهات وبناء الجملة.
بعد إجراء تغييرات على ملف .htaccess
، تذكر مسح ذاكرة التخزين المؤقت للمتصفح لديك أو الاختبار باستخدام متصفح مختلف للتأكد من أنك ترى النتيجة المحدثة. إذا لم ينجح أي من الحلول المذكورة أعلاه في حل المشكلة، ففكر في استعادة نسخة احتياطية من ملف .htaccess
من الوقت الذي لم تكن تواجه فيه الخطأ 403.
3. إدراج عناوين IP في القائمة البيضاء
إذا كان حظر IP هو السبب، ففكر في إدراج عنوان IP المعني في القائمة البيضاء.
القائمة البيضاء مع .htaccess:
- تحديد موقع قواعد حظر IP الموجودة : ابحث عن أي قواعد موجودة في ملف
.htaccess
الخاص بك والتي قد تحظر عناوين IP. قد تبدو بالشكل التالي:Order Deny,Allow Deny from all Allow from 123.123.123.123
في هذا المثال، يُسمح فقط بعنوان IP123.123.123.123
، ويتم رفض كافة عناوين IP الأخرى. - إدراج عنوان IP في القائمة البيضاء : إذا كنت تريد إضافة عنوان IP محدد إلى القائمة البيضاء، فيمكنك إضافته باستخدام توجيه
Allow from
:Allow from YOUR.IP.ADDRESS.HERE
استبدلYOUR.IP.ADDRESS.HERE
بعنوان IP الذي تريد إدراجه في القائمة البيضاء . - إضافة عناوين IP متعددة إلى القائمة البيضاء : إذا كان لديك عناوين IP متعددة لإضافتها إلى القائمة البيضاء، فيمكنك إضافة
Allow from
التوجيهات المتعددة:Allow from IP.ADDRESS.1 Allow from IP.ADDRESS.2
- قم بإدراج نطاق IP في القائمة البيضاء : إذا كان لديك نطاق من عناوين IP، فيمكنك استخدام تدوين CIDR أو أحرف البدل:
#Using CIDR notation Allow from 123.123.123.0/24 # Using wildcards Allow from 123.123.123.*
كلا المثالين أعلاه قم بإدراج جميع عناوين IP في القائمة البيضاء من123.123.123.0
إلى123.123.123.255
. - الحفظ والاختبار : بعد إضافة تعليمات
Allow from
اللازمة، احفظ ملف.htaccess
ثم حاول الوصول إلى موقع الويب الخاص بك من عنوان IP المحظور مسبقًا. وينبغي أن يكون الآن في متناول الجميع. - مسح ذاكرة التخزين المؤقت للمتصفح : قم دائمًا بمسح ذاكرة التخزين المؤقت للمتصفح أو استخدم نافذة التصفح المتخفي/الخاص عند الاختبار للتأكد من أنك ترى أحدث التغييرات.
باستخدام iptables
:
أنا. النسخ الاحتياطي لقواعد iptables الحالية : قبل إجراء أي تغييرات، من الجيد عمل نسخة احتياطية لقواعد iptables
الحالية.
sudo iptables-save > /path/to/backupfile.txt
ثانيا. إدراج عنوان IP في القائمة البيضاء : للسماح بجميع حركة المرور من عنوان IP محدد:
sudo iptables -A INPUT -s YOUR.IP.ADDRESS.HERE -j ACCEPT
استبدل YOUR.IP.ADDRESS.HERE
بعنوان IP الذي تريد إدراجه في القائمة البيضاء.
ثالثا. احفظ التغييرات : اعتمادًا على التوزيع الخاص بك، قد تستخدم:
sudo service iptables save
أو:
sudo iptables-save > /etc/sysconfig/iptables
باستخدام ufw
:
أنا. تحقق من تثبيت UFW : إذا لم يكن الأمر كذلك، فيمكنك تثبيته باستخدام مدير الحزم الخاص بالتوزيع، على سبيل المثال:
sudo apt install ufw # For Ubuntu/Debian sudo yum install ufw # For CentOS (might not be in the default repositories)
ثانيا. تمكين UFW : إذا لم يكن ممكّنًا بالفعل، فيمكنك تشغيل UFW باستخدام:
sudo ufw enable
ثالثا. إدراج عنوان IP في القائمة البيضاء : للسماح بجميع حركة المرور من عنوان IP محدد:
sudo ufw allow from YOUR.IP.ADDRESS.HERE
استبدل YOUR.IP.ADDRESS.HERE
بعنوان IP الذي تريد إدراجه في القائمة البيضاء.
رابعا. التحقق من القواعد : يمكنك التحقق من قواعد UFW باستخدام:
sudo ufw status
4. اطلب دعم موفر الاستضافة : في بعض الأحيان، يمكن أن يساعد التواصل مع موفر الاستضافة في تحديد المشكلات الخاصة بالخادم وتصحيحها.
الأخطاء ذات الصلة
لوضع HTTP 403 في سياقه بشكل أكبر، خذ بعين الاعتبار رموز حالة HTTP ذات الصلة:
- HTTP 401 (غير مصرح به) : يتطلب الطلب مصادقة المستخدم.
- HTTP 402 (الدفع مطلوب) : محجوز للاستخدام المستقبلي، يقترح أن الدفع مطلوب.
- HTTP 404 (لم يتم العثور عليه) : المورد المطلوب غير متوفر على الخادم.
في الختام، يعد فهم تعقيدات رمز الحالة "ممنوع" HTTP 403 أمرًا حيويًا لضمان تفاعلات الويب المثالية. من خلال البقاء على اطلاع واستباقية، يمكن للمطورين والمستخدمين التغلب على المخاطر المحتملة والحفاظ على تجارب الويب السلسة.
باعتباري أحد مؤسسي Codeless، أحمل خبرتي في تطوير WordPress وتطبيقات الويب، بالإضافة إلى سجل حافل في إدارة الاستضافة والخوادم بشكل فعال. إن شغفي باكتساب المعرفة وحماسي لبناء واختبار التقنيات الجديدة يدفعني إلى الابتكار والتحسين باستمرار.
خبرة:
تطوير الشبكة،
تصميم مواقع الإنترنت,
إدارة نظام لينكس،
تحسين محركات البحث
خبرة:
15 عامًا من الخبرة في تطوير الويب من خلال تطوير وتصميم بعض سمات WordPress الأكثر شيوعًا مثل Specular وTower وFolie.
تعليم:
لديّ شهادة في الفيزياء الهندسية وماجستير في علوم المواد والإلكترونيات الضوئية.
تويتر، لينكدإن