دليل شامل لحل مشاكل عدم قدرة ووردبنس في ووردبريس على إنشاء ملف wordfence-waf.php

ذكر أحدهم أنه بعد تثبيت إضافة Wordfence على موقعه الإلكتروني، واجه باستمرار أخطاءً تفيد بعدم إمكانية إنشاء ملف wordfence-waf.php في المجلد الرئيسي. طلبتُ منه إرسال لقطة شاشة؛ وكانت رسالة الخطأ عبارة عن سطر واحد فقط، يشير إلى مشكلة في أذونات الملف.

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

دليل شامل لحل مشاكل عدم قدرة ووردبنس في ووردبريس على إنشاء ملف wordfence-waf.php

دعوني أولاً أوضح ما هو ملف wordfence-waf.php هذا.

إنه في الواقع ملف الحماية الخاص بجدار الحماية Wordfence، والذي يجب كتابته في الدليل الجذر للموقع الإلكتروني، على نفس مستوى wp-config.php.

بدون هذا الملف، لا يمكن تشغيل جدار الحماية؛ الأمر أشبه بتثبيت قفل ولكن لا يمكن إدخال المفتاح.

الخيار 1: تعديل الأذونات بنقرة واحدة عبر لوحة التحكم (لوحة التحكم BT)هيستياCP/cPanel)

إذا كنت تستخدم لوحة تحكم BT، فالأمر في غاية البساطة. انتقل إلى موقعك الإلكتروني، وابحث عن الموقع المطلوب، ثم انقر على "الإعدادات"، ثم انتقل إلى "أذونات الدليل". غيّر إذن الدليل الرئيسي للموقع إلى 755، وأذونات جميع الملفات إلى 644. بعد ذلك، تحقق مما إذا كان المستخدم المُشغّل هو "www"؛ إذا لم يكن كذلك، فقم بتغييره. انقر على زر "إصلاح الأذونات"، وانتظر حتى يكتمل الإصلاح، ثم قم بتحديث Wordfence، وحاول مرة أخرى.

بالنسبة لـ HestiaCP، انتقل إلى صفحة تحرير الموقع الإلكتروني وقم بتفعيل خيار "السماح بالوصول للكتابة إلى جذر الموقع". ثم قم بتشغيل بعض أوامر SSH لتوحيد مالك وصلاحيات دليل الموقع الإلكتروني.

chown -R admin:www-data /home/admin/web/你的域名/public_html
chmod -R 755 /home/admin/web/你的域名/public_html
find /home/admin/web/你的域名/public_html -type f -print0 | xargs -0 chmod 644

لوحة تحكم cPanel أكثر سهولة في الاستخدام. افتح مدير الملفات، فعّل خيار "إظهار الملفات المخفية" في الزاوية العلوية اليمنى، انقر بزر الماوس الأيمن على المجلد وغيّر صلاحيات الوصول إلى 755، وغيّر صلاحيات الملف إلى 644، كما توجد وظيفة لتحديد مالك الملف في الخيارات المتقدمة.

الخيار الثاني: تغيير الأذونات يدويًا عبر SSH (عام)لينكس)

إذا لم تتمكن لوحة التحكم من التعامل مع الأمر، فحاول الاتصال عبر SSH يدويًا. بعد الاتصال بالخادم، قم بتوحيد الملكية أولًا. في بيئة LNMP/LEMP، تكون مجموعة وقت تشغيل الويب عادةً www-data أو www.

chown -R 你的面板用户:www-data /网站根目录完全路径

ثم قم بتعيين أذونات المجلد إلى 755 وأذونات الملف إلى 644.

find /网站根目录 -type d -print0 | xargs -0 chmod 755
find /网站根目录 -type f -print0 | xargs -0 chmod 644

بعد اكتمال العملية، ارجع إلى لوحة تحكم ووردبريس وأعد تفعيل جدار الحماية؛ من المرجح أن يحل ذلك المشكلة.

الخيار الثالث: إنشاء ملف wordfence-waf.php يدويًا (حل مثالي عندما تكون الأذونات مقفلة)

إذا لم تتمكن من تغيير إعدادات SSH في لوحة التحكم، فقم بذلك يدويًا. أنشئ ملفًا باسم wordfence-waf.php في المجلد الرئيسي، والصق الكود التالي فيه.

<?php
if (!defined('WFWAF_VERSION')) {
    define('WFWAF_VERSION', '7.11.0');
}
$wafConfig = array(
    'wafAutoPrepend' => true,
    'wafFile' => __FILE__,
    'wpContentDir' => dirname(__FILE__) . '/wp-content',
    'wpPluginsDir' => dirname(__FILE__) . '/wp-content/plugins',
    'wafLogDir' => dirname(__FILE__) . '/wp-content/wflogs',
);
require_once $wafConfig['wpPluginsDir'] . '/wordfence/lib/waf/waf.php';

تذكر استبدال الإصدار 7.11.0 بإصدار Wordfence الحالي لديك. اضبط صلاحيات الملف على 644، ويجب أن يتطابق مالك الملف مع مالك الموقع الإلكتروني. ثم عدّل ملف wp-config.php وأضف السطر التالي في أعلى الملف.

require_once 'wordfence-waf.php';

احفظ ملف Wordfence وقم بتحديثه. سيتعرف جدار الحماية عليه تلقائيًا ولن يُبلغ عن أي أخطاء بعد ذلك.

الخيار الرابع: تحقق من القواعد التي تقيد الوصول للكتابة.

أحيانًا لا تكون المشكلة متعلقة بالأذونات، بل بملف الإعدادات الذي يمنع الوصول. افتح ملف .htaccess واحذف جميع القواعد التي تقيّد الوصول للكتابة إلى الملفات أو تمنع إنشاء ملفات PHP. بالنسبة لـ Nginx، تحقق من إعدادات موقعك بحثًا عن قيود مثل "المسار الرئيسي للقراءة فقط" أو "create_file معطل"، ثم قم بإزالتها.

سيناريو آخر هو أن المضيف الافتراضي أو خدمة الاستضافة السحابية الخفيفة نفسها تقيّد إنشاء ملفات PHP في الدليل الجذر. في هذه الحالة، عليك التواصل مع مزود خدمة الاستضافة لإزالة هذا التقييد، أو تغيير وضع الحماية في Wordfence. انتقل إلى قائمة Wordfence، ثم جميع الخيارات، ثم جدار حماية تطبيقات الويب (WAF)، وغيّر وضع محرك الحماية إلى "حماية معززة" لتجاوز إنشاء الملفات في الدليل الجذر.

الحل الخامس: تعارضات الإضافات التي تسبب الحظر

قد تمنع بعض إضافات التخزين المؤقت أو الأمان هذه العملية. لذا، قم بتعطيل إضافات التخزين المؤقت مؤقتًا، مثل WP Rocket وW3 Total Cache وLiteSpeed ​​Cache، بالإضافة إلى إضافات الأمان مثل Sucuri وiThemes Security. ثم امسح ذاكرة التخزين المؤقت للخادم وopcache، وأعد تشغيل خدمة PHP.

systemctl restart php8.3-fpm

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

أنصحك باتباع هذا الترتيب لتجنب أي مشاكل. أولًا، وحّد الصلاحيات والملكية؛ فهذا هو الأرجح لحل المشكلة. إذا لم ينجح ذلك، فأعد تشغيل PHP-FPM وقم بتحديث الواجهة الخلفية. إذا استمرت المشكلة، أنشئ ملفًا جديدًا يدويًا وعدّل ملف wp-config. ثم تحقق مما إذا كان إعداد Nginx أو Apache يمنع إنشاء ملفات PHP جديدة في المجلد الرئيسي. أخيرًا، فكّر في تغيير وضع جدار الحماية.

أودّ أن أذكّركم بأمرٍ هام: لا تُعيّنوا صلاحيات الوصول إلى 777. يجب أن تكون صلاحيات المجلدات 755 وصلاحيات الملفات 644؛ هذا هو المعيار. تعيين الصلاحيات إلى 777 سيُعرّض موقعكم الإلكتروني للخطر بشكلٍ مباشر، مما يُشكّل خطراً أمنياً جسيماً. في حال تعرّض موقعكم للاختراق، سيكون الأوان قد فات للندم.

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

بما أنك قرأت حتى هذه النقطة، إذا وجدت هذا المحتوى مفيدًا، يُرجى الإعجاب به ومشاركته. وإذا كنت ترغب في تلقي التحديثات أولًا، يمكنك أيضًا متابعتي!

شكراً لكم على قراءة مقالتي. أراكم في المرة القادمة.

نأمل أن يكون البرنامج التعليمي "الحل الكامل لمشكلة عدم قدرة WordPress Wordfence على إنشاء wordfence-waf.php" المنشور على مدونة Chen Weiliang ( https://www.chenweiliang.com/ ) مفيدًا لك.

لا تتردد في مشاركة رابط هذه المقالة: https://www.chenweiliang.com/cwl-34337.html

لاكتشاف المزيد من الحيل المخفية🔑، مرحبًا بك في الانضمام إلى قناتنا على Telegram!

مشاركة ومثل إذا كنت ترغب في ذلك! مشاركاتك وإعجاباتك هي حافزنا المستمر!

 

发表 评论

لا يوجد أي مشكلة في هذا الأمر.

انتقل إلى الأعلى