ລາຍການຫົວເລື່ອງ
ມີຄົນບອກວ່າຫຼັງຈາກຕິດຕັ້ງ Wordfence ໃນເວັບໄຊທ໌ຂອງລາວແລ້ວ, ລາວໄດ້ຮັບຂໍ້ຜິດພາດຢູ່ເລື້ອຍໆວ່າມັນບໍ່ສາມາດສ້າງໄຟລ໌ wordfence-waf.php ໃນໄດເລກະທໍລີຮາກໄດ້. ຂ້ອຍໄດ້ຂໍໃຫ້ລາວສົ່ງພາບໜ້າຈໍໃຫ້ຂ້ອຍ; ຂໍ້ຄວາມຜິດພາດແມ່ນພຽງແຕ່ແຖວດຽວ, ໂດຍບອກວ່າມັນເປັນບັນຫາການອະນຸຍາດໄຟລ໌.
ຂ້ອຍຄິດກ່ຽວກັບມັນຢູ່ຄາວໜຶ່ງ, ແລະຮູ້ວ່າຂ້ອຍເຄີຍພົບເລື່ອງນີ້ມາກ່ອນ. ຂ້ອຍໃຊ້ເວລາດົນຫຼາຍເພື່ອພະຍາຍາມຄິດອອກ, ເກືອບຄິດວ່າຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງກຳລັງເຮັດບາງຢ່າງ. ມັນກາຍເປັນບັນຫາກ່ຽວກັບສິດອະນຸຍາດ ແລະ ຄວາມເປັນເຈົ້າຂອງ, ແຕ່ເຫດຜົນຂອງແຜງຄວບຄຸມໂຮດຕິ້ງສາມາດເຮັດໃຫ້ສັບສົນໄດ້ຫຼາຍ.

ກ່ອນອື່ນໝົດ, ຂ້າພະເຈົ້າຂໍຊີ້ແຈງວ່າ wordfence-waf.php ນີ້ແມ່ນຫຍັງ.
ຕົວຈິງແລ້ວມັນແມ່ນໄຟລ໌ປ້ອງກັນຂອງໄຟວໍ Wordfence, ເຊິ່ງຕ້ອງຖືກຂຽນໄວ້ໃນໄດເລກະທໍລີຮາກຂອງເວັບໄຊທ໌, ໃນລະດັບດຽວກັນກັບ wp-config.php.
ຖ້າບໍ່ມີໄຟລ໌ນີ້, firewall ຈະບໍ່ສາມາດເລີ່ມຕົ້ນໄດ້; ມັນຄືກັບວ່າທ່ານໄດ້ຕິດຕັ້ງກະແຈແລ້ວ ແຕ່ບໍ່ສາມາດໃສ່ກະແຈໄດ້.
ຕົວເລືອກທີ 1: ການດັດແກ້ການອະນຸຍາດດ້ວຍການຄລິກດຽວຜ່ານແຜງຄວບຄຸມ (BT Panel/)HestiaCP/cPanel)
ຖ້າທ່ານກຳລັງໃຊ້ BT Panel, ຕົວຈິງແລ້ວມັນງ່າຍທີ່ສຸດ. ໄປທີ່ເວັບໄຊທ໌ຂອງທ່ານ, ຊອກຫາເວັບໄຊທ໌ທີ່ສອດຄ້ອງກັນ, ຄລິກການຕັ້ງຄ່າ, ຈາກນັ້ນໄປທີ່ການອະນຸຍາດຂອງ Directory. ປ່ຽນການອະນຸຍາດຂອງ directory root ຂອງເວັບໄຊທ໌ເປັນ 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 644cPanel ງ່າຍຕໍ່ການໃຊ້ງານຫຼາຍກວ່າ. ເປີດຕົວຈັດການໄຟລ໌, ເປີດ "ສະແດງໄຟລ໌ທີ່ເຊື່ອງໄວ້" ຢູ່ມຸມຂວາເທິງ, ຄລິກຂວາໃສ່ໄດເລກະທໍລີ ແລະ ປ່ຽນສິດອະນຸຍາດເປັນ 755, ປ່ຽນສິດອະນຸຍາດໄຟລ໌ເປັນ 644, ແລະ ຍັງມີຟັງຊັນເພື່ອແກ້ໄຂເຈົ້າຂອງໄຟລ໌ໃນຕົວເລືອກຂັ້ນສູງ.
ທາງເລືອກທີ 2: ປ່ຽນສິດອະນຸຍາດດ້ວຍຕົນເອງຜ່ານ SSH (ທົ່ວໄປ)Linux)
ຖ້າແຜງຄວບຄຸມບໍ່ສາມາດຈັດການມັນໄດ້, ໃຫ້ໃຊ້ 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ຫຼັງຈາກຂະບວນການສຳເລັດແລ້ວ, ໃຫ້ກັບຄືນໄປຫາ backend WP ແລະເປີດໃຊ້ firewall ຄືນໃໝ່; ມັນອາດຈະແກ້ໄຂບັນຫາໄດ້.
ທາງເລືອກທີ 3: ສ້າງ 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. firewall ຈະຮັບຮູ້ມັນໂດຍອັດຕະໂນມັດ ແລະ ບໍ່ລາຍງານຄວາມຜິດພາດອີກຕໍ່ໄປ.
ຕົວເລືອກທີ 4: ກວດສອບກົດລະບຽບທີ່ຈຳກັດການເຂົ້າເຖິງການຂຽນ.
ບາງຄັ້ງມັນບໍ່ແມ່ນບັນຫາສິດອະນຸຍາດ, ແຕ່ແມ່ນໄຟລ໌ການຕັ້ງຄ່າທີ່ບລັອກມັນ. ເປີດໄຟລ໌ .htaccess ຂອງທ່ານ ແລະ ລຶບກົດລະບຽບທັງໝົດທີ່ຈຳກັດການເຂົ້າເຖິງການຂຽນໄຟລ໌ ຫຼື ປ້ອງກັນການສ້າງໄຟລ໌ PHP. ສຳລັບ Nginx, ໃຫ້ກວດສອບການຕັ້ງຄ່າເວັບໄຊທ໌ຂອງທ່ານສຳລັບຂໍ້ຈຳກັດເຊັ່ນ: ເສັ້ນທາງຮາກອ່ານເທົ່ານັ້ນ ຫຼື ປິດ create_file, ແລະ ລຶບອອກ.
ອີກສະຖານະການໜຶ່ງແມ່ນວ່າ virtual host ຫຼື cloud hosting ທີ່ມີນ້ຳໜັກເບົານັ້ນຈຳກັດການສ້າງໄຟລ໌ PHP ໃນ root directory. ໃນກໍລະນີນີ້, ທ່ານຈຳເປັນຕ້ອງຕິດຕໍ່ຜູ້ໃຫ້ບໍລິການ hosting ຂອງທ່ານເພື່ອລຶບຂໍ້ຈຳກັດ, ຫຼື ປ່ຽນໂໝດປ້ອງກັນຂອງ Wordfence. ໄປທີ່ເມນູ Wordfence, All Options, WAF, ແລະ ປ່ຽນໂໝດເຄື່ອງຈັກປ້ອງກັນເປັນ Extended Protection ເພື່ອຂ້າມການສ້າງໄຟລ໌ root.
ວິທີແກ້ໄຂທີ 5: ການຂັດແຍ່ງຂອງປລັກອິນເຮັດໃຫ້ເກີດການບລັອກ
ບາງ plugins ສຳລັບການ caching ຫຼື security ອາດຈະບລັອກການດຳເນີນງານນີ້. ປິດໃຊ້ງານ plugins caching ຊົ່ວຄາວເຊັ່ນ WP Rocket, W3 Total Cache, ແລະ LiteSpeed Cache, ເຊັ່ນດຽວກັນກັບ plugins ຄວາມປອດໄພເຊັ່ນ Sucuri ແລະ iThemes Security. ຈາກນັ້ນລຶບ cache ແລະ opcache ຂອງເຊີບເວີ, ແລະເລີ່ມການບໍລິການ PHP ຄືນໃໝ່.
systemctl restart php8.3-fpmລຳດັບການແກ້ໄຂບັນຫາຢ່າງວ່ອງໄວ (ແນະນຳໃຫ້ປະຕິບັດຕາມຂັ້ນຕອນຕາມລຳດັບ)
ຂ້ອຍແນະນຳໃຫ້ເຈົ້າປະຕິບັດຕາມຄຳສັ່ງນີ້ເພື່ອຫຼີກລ່ຽງການຫຼິ້ນກວນ. ກ່ອນອື່ນໝົດ, ໃຫ້ລວມສິດອະນຸຍາດ ແລະ ຄວາມເປັນເຈົ້າຂອງເຂົ້າກັນ; ອັນນີ້ມີໂອກາດສູງທີ່ສຸດໃນການແກ້ໄຂບັນຫາ. ຖ້າວິທີນີ້ບໍ່ໄດ້ຜົນ, ໃຫ້ຣີສະຕາດ PHP-FPM ແລະ ໂຫຼດ backend ຄືນໃໝ່. ຖ້າວິທີນີ້ຍັງບໍ່ໄດ້ຜົນ, ໃຫ້ສ້າງໄຟລ໌ໃໝ່ດ້ວຍຕົນເອງ ແລະ ແກ້ໄຂ wp-config. ຈາກນັ້ນໃຫ້ກວດສອບວ່າການຕັ້ງຄ່າ Nginx ຫຼື Apache ຂອງທ່ານກຳລັງບລັອກການສ້າງໄຟລ໌ PHP ໃໝ່ໃນໄດເລກະທໍລີຮາກຫຼືບໍ່. ສຸດທ້າຍ, ພິຈາລະນາປ່ຽນໂໝດ firewall.
ສິ່ງໜຶ່ງທີ່ຂ້ອຍຕ້ອງເຕືອນເຈົ້າຄື ເຈົ້າບໍ່ຄວນຕັ້ງສິດອະນຸຍາດເປັນ 777. ສິດອະນຸຍາດໂຟນເດີຄວນເປັນ 755 ແລະ ສິດອະນຸຍາດໄຟລ໌ຄວນເປັນ 644; ນັ້ນແມ່ນມາດຕະຖານ. ການຕັ້ງຄ່າສິດອະນຸຍາດເປັນ 777 ຈະເປີດເຜີຍເວັບໄຊທ໌ຂອງທ່ານໂດຍກົງ, ເຊິ່ງກໍ່ໃຫ້ເກີດຄວາມສ່ຽງດ້ານຄວາມປອດໄພສູງຫຼາຍ. ຖ້າເຈົ້າຖືກແຮັກ, ມັນຈະສາຍເກີນໄປທີ່ຈະເສຍໃຈ.
ເວົ້າແທ້ໆ, ຂ້ອຍບໍ່ແນ່ໃຈວ່າວິທີແກ້ໄຂເຫຼົ່ານີ້ຈະໃຊ້ໄດ້ກັບສະຖານະການຂອງເຈົ້າຫຼືບໍ່, ແຕ່ຂ້ອຍໄດ້ແບ່ງປັນຂໍ້ຜິດພາດທີ່ຂ້ອຍພົບ ແລະ ວິທີການທີ່ຂ້ອຍຄິດອອກ. ຖ້າເຈົ້າໄດ້ຮັບຂໍ້ຄວາມຜິດພາດອື່ນໆ, ໃຫ້ຖ່າຍຮູບໜ້າຈໍ ແລະ ສົ່ງມາໃຫ້ຂ້ອຍ, ແລະ ຂ້ອຍຈະກວດສອບອີກຄັ້ງ.
ເນື່ອງຈາກທ່ານໄດ້ອ່ານມາຮອດນີ້, ຖ້າທ່ານເຫັນວ່າມັນເປັນປະໂຫຍດ, ກະລຸນາກົດໄລຄ໌ ແລະ ແຊຣ໌ມັນ. ຖ້າທ່ານຕ້ອງການຮັບຂໍ້ມູນອັບເດດກ່ອນ, ທ່ານຍັງສາມາດຕິດຕາມຂ້ອຍໄດ້!
ຂອບໃຈທີ່ໄດ້ອ່ານບົດຄວາມຂອງຂ້ອຍ. ພົບກັນໃໝ່ໃນຄັ້ງຕໍ່ໄປ.
ຫວັງ Chen Weiliang Blog ( https://www.chenweiliang.com/ ບົດແນະນຳ "ວິທີແກ້ໄຂທີ່ສົມບູນສຳລັບການບໍ່ສາມາດສ້າງ wordfence-waf.php ຂອງ WordPress" ທີ່ແບ່ງປັນຢູ່ນີ້ອາດຈະເປັນປະໂຫຍດຕໍ່ທ່ານ.
ຍິນດີຕ້ອນຮັບແບ່ງປັນການເຊື່ອມຕໍ່ຂອງບົດຄວາມນີ້:https://www.chenweiliang.com/cwl-34337.html
