403 ممنوع على موقع WordPress
تم فهم الطلب ورفضه. جاء الرفض من خادم الويب أو جدار الحماية أو قاعدة الأذونات - نادراً ما يشارك WordPress.
403 Forbidden — You don't have permission to access this resource.
لاحظ ما إذا كان الموقع بأكمله 403s أو بعض عناوين URL فقط ، وما إذا كان يتبعك أو يؤثر فقط على شبكة واحدة. إن 403 على مستوى الموقع هو دائمًا أذونات ملف أو قاعدة إعادة كتابة ؛ قاعدة تتبع شخص واحد هي كتلة IP.
الأسباب الأرجح أولًا.
افحص القائمة بالترتيب. يتيح لك كل فحص تأكيد السبب أو استبعاده قبل تغيير أي شيء، لأن الحلول تختلف والتخمين يكلّف أكثر من تنفيذ أمر للتحقق.
| السبب | كيفية التحقق | الإصلاح |
|---|---|---|
| أذونات الملف أو الدليل لا يمكن لخادم الويب قراءتها | الخطأ هو على نطاق الموقع وثابت. يجب أن تكون الدلائل قابلة للعبور والملفات قابلة للقراءة من قبل مستخدم خادم الويب ؛ أي شيء أكثر تقييدا ينتج بالضبط هذا. | تعيين الدلائل إلى 755 والملفات إلى 644 ، المملوكة من قبل المستخدم PHP يعمل باسم. الاستعادة من نسخة احتياطية مأخوذة على مضيف مختلف هي السبب المعتاد في انحرافها. |
| قام ملحق الأمان بحظر عنوانك | يمكن لأشخاص آخرين استخدام الموقع بشكل طبيعي وشبكة مختلفة تعمل من أجلك أيضًا. يسجل سجل المكون الإضافي الكتلة بعنوانك وسبب. | امسح الكتلة من قائمة المكوّن الإضافي الخاصة ، ثم ارفع العتبة التي تسببت في ذلك. تسجيلات الدخول الفاشلة المتكررة هي الزناد الأكثر شيوعًا. |
| قاعدة إعادة الكتابة أو الوصول تنفي المسار | تفشل عناوين URL معينة فقط - wp-login.php و wp-admin و xmlrpc.php - بينما بقية الموقع على ما يرام. | العثور على قاعدة رفض في تكوين الخادم أو .htaccess. مقتطفات تصلب نسخها من البرنامج التعليمي هي المصدر المعتاد، وغالبا ما تقيد أكثر مما هو مقصود. |
| ملف الفهرس مفقود أو غير مدرج | عنوان URL للدليل 403s حيث يعمل عنوان URL للملف في نفس الدليل. يرفض الخادم إدراج دليل لا يحتوي على شيء ليكون بمثابة افتراضي. | استعادة ملف الفهرس المفقود ، أو تأكيد نقاط جذر المستند حيث تعتقد أنه يفعل. يبدو الجذر غير الموجه بشكل صحيح تمامًا مثل مشكلة الأذونات. |
الإصلاح خطوة بخطوة.
تفترض الأوامر توفر WP-CLI والوصول إلى سطر الأوامر. إن لم يتوفرا، تشرح كل خطوة الإجراء كي تنفذه من لوحة التحكم أو عبر SFTP.
تحديد شكل الفشل.
على مستوى الموقع أو مسار واحد ؛ الجميع أو أنت فقط. يزيل هذان الجوابان معظم القائمة قبل تشغيل أي أمر.
curl -sS -o /dev/null -w '%{http_code}\n' https://example.com/ curl -sS -o /dev/null -w '%{http_code}\n' https://example.com/wp-login.phpاقرأ شرح الخادم الخاص
يتم تسجيل 403 دائمًا تقريبًا لسبب ما ، ويسمي السبب الطبقة التي رفضت.
tail -n 50 /var/log/nginx/error.log
إعادة تعيين الملكية والأذونات
الدلائل قابلة للعبور ، الملفات قابلة للقراءة ، كلاهما مملوكان لمستخدم PHP. تشغيل من جذر الموقع.
find . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \;خذ .htaccess خارج المعادلة
إعادة تسميته بدلا من تحريره، حتى تتمكن من وضعه مرة أخرى دون تغيير. WordPress يعيد كتابة واحدة جديدة عند الطلب.
mv .htaccess .htaccess.bak wp rewrite flush --hard
تأكيد من شبكة مختلفة
إذا كان الموقع يجيب من مكان آخر في حين لا يزال يرفضك ، فهو كتلة عنوان ولن يساعد أي تغيير في الإذن.
curl -sS -o /dev/null -w '%{http_code}\n' --interface eth1 https://example.com/
ما تتولاه المنصة عنك.
يتم تعيين ملكية الملف إلى مستخدم الموقع نفسه عند النشر ويتم الاحتفاظ بها بهذه الطريقة بواسطة النظام الأساسي ، لذلك لا يحدث انجراف الإذن الذي يتبع الاستعادة اليدوية هنا. يتم الحظر على الحافة بدلاً من مكون إضافي داخل WordPress ، مما يعني أن العنوان المحظور لا يصل أبدًا إلى PHP ، وبنفس القدر من الفائدة ، يمكن السماح للمسؤول الذي يغلق نفسه بالدخول مرة أخرى دون الوصول إلى قاعدة البيانات.
الأسئلة الشائعة.
لماذا يمكن لأي شخص آخر استخدام الموقع بينما لا يمكنني؟
هل يجب علي تعيين أذونات إلى 777 لاختبارها؟
لا يظهر 403 إلا على wp-admin. ماذا يوحي ذلك؟
كيف يختلف 403 عن 401؟
إن لم يكن هذا هو السبب.
قد تبدو هذه الأخطاء متشابهة في المتصفح.