Maqolalar katalogi
Kimdir o'z veb-saytiga Wordfence o'rnatgandan so'ng, u wordfence-waf.php faylini asosiy katalogda yarata olmasligi haqida xatolar paydo bo'lishini aytdi. Men undan menga skrinshot yuborishini so'radim; xato xabari faqat bitta qator edi, unda fayl ruxsati bilan bog'liq muammo borligi aytilgan edi.
Men bir zum o'ylab qoldim va bunga ilgari ham duch kelganimni angladim. Men buni tushunishga uzoq vaqt sarfladim, deyarli xosting provayderi biron narsa qilyapti deb o'yladim. Bu ruxsatnomalar va egalik muammosi bo'lib chiqdi, ammo xosting boshqaruv panelining mantig'i juda chalkash bo'lishi mumkin.

Avvalo, bu wordfence-waf.php nima ekanligini aniqlab beray.
Aslida, bu Wordfence xavfsizlik devorining himoya fayli bo'lib, u veb-saytning asosiy katalogida, wp-config.php bilan bir xil darajada yozilishi kerak.
Ushbu faylsiz xavfsizlik devori ishga tusha olmaydi; xuddi qulf o'rnatgandek, lekin kalitni kiritib bo'lmaydi.
1-variant: Boshqaruv paneli orqali bir marta bosish orqali ruxsatnomani o'zgartirish (BT Panel/)HestiaCP/cPanel)
Agar siz BT Paneldan foydalanayotgan bo'lsangiz, bu aslida eng oddiy usul. Veb-saytingizga o'ting, tegishli saytni toping, Sozlamalar tugmasini bosing, so'ngra Katalog ruxsatnomalari bo'limiga o'ting. Veb-saytning asosiy katalogi ruxsatini 755 ga va barcha fayllar ruxsatini 644 ga o'zgartiring. Keyin ishlayotgan foydalanuvchi "www" ekanligini tekshiring; agar yo'q bo'lsa, uni o'zgartiring. "Ruxsatnomalarni tiklash" tugmasini bosing, tugashini kuting, Wordfence-ni yangilang va qayta urinib ko'ring.
HestiaCP uchun veb-saytni tahrirlash sahifasiga o'ting va "Veb-rootga yozishga ruxsat berish" deb nomlangan parametrni yoqing. Keyin veb-sayt katalogining egasi va ruxsatlarini birlashtirish uchun bir nechta SSH buyruqlarini bajaring.
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 644cPanel yanada intuitiv. Fayl menejerini oching, yuqori o'ng burchakda "Yashirin fayllarni ko'rsatish" ni yoqing, katalog ustiga sichqonchaning o'ng tugmasi bilan bosing va ruxsatlarni 755 ga o'zgartiring, fayl ruxsatlarini 644 ga o'zgartiring va kengaytirilgan sozlamalarda fayl egasini tuzatish funksiyasi ham mavjud.
2-variant: SSH orqali ruxsatnomalarni qo'lda o'zgartirish (umumiy)Linux)
Agar boshqaruv paneli buni bajara olmasa, SSH dan qo'lda foydalaning. Serverga ulangandan so'ng, avval egalikni birlashtiring. LNMP/LEMP muhitida veb-ish vaqti guruhi odatda www-data yoki www bo'ladi.
chown -R 你的面板用户:www-data /网站根目录完全路径Keyin papka ruxsatlarini 755 ga va fayl ruxsatlarini 644 ga o'rnating.
find /网站根目录 -type d -print0 | xargs -0 chmod 755
find /网站根目录 -type f -print0 | xargs -0 chmod 644Jarayon tugagandan so'ng, WP serveriga qayting va xavfsizlik devorini qayta yoqing; bu muammoni hal qilishi kerak.
3-variant: wordfence-waf.php faylini qo'lda yarating (ruxsatnomalar qulflanganda ajoyib yechim)
Agar SSH paneli orqali hech narsani o'zgartira olmasangiz, buni qo'lda bajaring. Asosiy katalogda wordfence-waf.php nomli fayl yarating va unga quyidagi kodni joylashtiring.
<?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 versiyasini joriy Wordfence versiyangiz bilan almashtirishni unutmang. Fayl ruxsatnomalarini 644 ga o'rnating va egasi veb-saytga mos kelishi kerak. Keyin wp-config.php faylini tahrirlang va faylning eng yuqori qismiga quyidagi qatorni qo'shing.
require_once 'wordfence-waf.php';Wordfence’ni saqlang va yangilang. Xavfsizlik devori uni avtomatik ravishda taniydi va endi xatolar haqida xabar bermaydi.
4-variant: Yozish huquqini cheklaydigan qoidalarni tekshiring.
Ba'zan bu ruxsatnomalar muammosi emas, balki uni bloklayotgan konfiguratsiya fayli. .htaccess faylingizni oching va faylga yozishga kirishni cheklaydigan yoki PHP faylini yaratishga to'sqinlik qiladigan barcha qoidalarni o'chiring. Nginx uchun sayt konfiguratsiyangizni faqat o'qish uchun root path yoki create_file o'chirilgan kabi cheklovlar uchun tekshiring va ularni olib tashlang.
Yana bir stsenariy shundaki, virtual xost yoki yengil bulutli xostingning o'zi ildiz katalogida PHP fayllarini yaratishni cheklaydi. Bunday holda, cheklovni olib tashlash yoki Wordfence himoya rejimini o'zgartirish uchun xosting provayderingizga murojaat qilishingiz kerak. Wordfence menyusiga, Barcha parametrlarga, WAFga o'ting va ildiz faylini yaratishni chetlab o'tish uchun himoya mexanizmi rejimini Kengaytirilgan himoyaga o'zgartiring.
5-yechim: Plaginlar bilan bog'liq ziddiyatlar blokirovkaga olib keladi
Ba'zi keshlash yoki xavfsizlik plaginlari bu operatsiyani bloklashi mumkin. WP Rocket, W3 Total Cache va LiteSpeed Cache kabi keshlash plaginlarini, shuningdek, Sucuri va iThemes Security kabi xavfsizlik plaginlarini vaqtincha o'chirib qo'ying. Keyin server keshini va opcacheni tozalang va PHP xizmatini qayta ishga tushiring.
systemctl restart php8.3-fpmMuammolarni tezda bartaraf etish ketma-ketligi (qadamlarni ketma-ket bajarish tavsiya etiladi)
Chalkashliklardan qochish uchun ushbu buyruqqa amal qilishingizni maslahat beraman. Birinchidan, ruxsatnomalar va egalikni birlashtiring; bu muammoni hal qilish ehtimoli eng yuqori. Agar bu ishlamasa, PHP-FPM ni qayta ishga tushiring va orqa qismni yangilang. Agar bu hali ham ishlamasa, qo'lda yangi fayl yarating va wp-config ni o'zgartiring. Keyin Nginx yoki Apache konfiguratsiyangiz ildiz katalogida yangi PHP fayllarini yaratishni bloklayotganini tekshiring. Nihoyat, xavfsizlik devori rejimlarini almashtirishni ko'rib chiqing.
Sizga eslatib o'tishim kerak bo'lgan bir narsa shundaki, siz hech qachon ruxsatlarni 777 ga o'rnatmasligingiz kerak. Papka ruxsatlari 755 va fayl ruxsatlari 644 bo'lishi kerak; bu standart. Ruxsatlarni 777 ga o'rnatish veb-saytingizni to'g'ridan-to'g'ri fosh qiladi va bu juda yuqori xavfsizlik xavfini tug'diradi. Agar siz buzib kirsangiz, afsuslanish uchun juda kech bo'ladi.
Rostini aytsam, ushbu yechimlar sizning vaziyatingizga mos keladimi yoki yo'qmi, amin emasman, lekin duch kelgan xavf-xatarlarim va aniqlagan usullarim bilan o'rtoqlashdim. Agar boshqa xato xabarlarini olsangiz, skrinshot oling va menga yuboring, men yana bir bor ko'rib chiqaman.
Siz shu yergacha o'qiganingiz uchun, agar foydali bo'lgan bo'lsa, iltimos, layk bosing va ulashing. Agar birinchi bo'lib yangiliklardan xabardor bo'lishni istasangiz, meni kuzatib borishingiz ham mumkin!
Maqolamni o'qiganingiz uchun tashakkur. Keyingi safar ko'rishguncha.
Umid qilamanki, Chen Veyliang blogi ( https://www.chenweiliang.com/ Bu yerda baham ko'rilgan "WordPress Wordfence'ning wordfence-waf.php faylini yarata olmasligi uchun to'liq yechim" qo'llanmasi siz uchun foydali bo'lishi mumkin.
Ushbu maqolaning havolasini baham ko'rish uchun xush kelibsiz:https://www.chenweiliang.com/cwl-34337.html
