Directori d'articles
Algú va comentar que després d'instal·lar Wordfence al seu lloc web, rebia errors que deien que no podia crear el fitxer wordfence-waf.php al directori arrel. Li vaig demanar que m'enviés una captura de pantalla; el missatge d'error només era d'una línia, i deia que era un problema de permisos de fitxer.
Ho vaig pensar un moment i em vaig adonar que ja m'havia trobat amb això abans. Vaig passar molt de temps intentant esbrinar-ho, gairebé pensant que el proveïdor d'allotjament estava tramant alguna cosa. Va resultar ser un problema de permisos i propietat, però la lògica del tauler de control de l'allotjament pot ser realment confusa.

Permeteu-me primer aclarir què és aquest wordfence-waf.php.
En realitat és el fitxer de protecció del tallafocs Wordfence, que s'ha d'escriure al directori arrel del lloc web, al mateix nivell que wp-config.php.
Sense aquest fitxer, el tallafocs no es pot iniciar; és com si haguéssiu instal·lat un pany però no es pot inserir la clau.
Opció 1: Modificació de permisos amb un clic a través del tauler de control (BT Panel/)HestiaCP/cPanel)
Si feu servir BT Panel, en realitat és el més senzill. Aneu al vostre lloc web, cerqueu el lloc corresponent, feu clic a Configuració i, a continuació, aneu a Permisos de directori. Canvieu el permís del directori arrel del lloc web a 755 i el permís de tots els fitxers a 644. A continuació, comproveu si l'usuari que s'executa és "www"; si no, canvieu-lo. Feu clic al botó "Reparar permisos", espereu que acabi, actualitzeu Wordfence i torneu-ho a provar.
Per a HestiaCP, aneu a la pàgina d'edició del lloc web i activeu l'opció anomenada "Permetre accés d'escriptura a l'arrel web". A continuació, executeu unes quantes ordres SSH per unificar el propietari i els permisos del directori del lloc web.
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 644El cPanel és més intuïtiu. Obriu el gestor de fitxers, activeu "Mostra els fitxers ocults" a la cantonada superior dreta, feu clic amb el botó dret al directori i canvieu els permisos a 755, canvieu els permisos de fitxer a 644 i també hi ha una funció per corregir el propietari del fitxer a les opcions avançades.
Opció 2: Canviar manualment els permisos via SSH (general)Linux)
Si el tauler de control no ho pot gestionar, feu servir SSH manualment. Un cop connectat al servidor, primer unifiqueu la propietat. En un entorn LNMP/LEMP, el grup d'execució web sol ser www-data o www.
chown -R 你的面板用户:www-data /网站根目录完全路径A continuació, configureu els permisos de carpeta a 755 i els permisos de fitxer a 644.
find /网站根目录 -type d -print0 | xargs -0 chmod 755
find /网站根目录 -type f -print0 | xargs -0 chmod 644Un cop finalitzat el procés, torneu al backend de WP i torneu a activar el tallafocs; probablement això hauria de resoldre el problema.
Opció 3: Crear manualment wordfence-waf.php (una solució fantàstica quan els permisos estan bloquejats)
Si no podeu canviar res a través del panell SSH, feu-ho manualment. Creeu un fitxer anomenat wordfence-waf.php al directori arrel i enganxeu-hi el codi següent.
<?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';Recordeu substituir la versió 7.11.0 per la vostra versió actual de Wordfence. Establiu els permisos del fitxer a 644 i el propietari hauria de coincidir amb el lloc web. A continuació, editeu wp-config.php i afegiu la següent línia a la part superior del fitxer.
require_once 'wordfence-waf.php';Desa i actualitza Wordfence. El tallafocs el reconeixerà automàticament i ja no informarà d'errors.
Opció 4: Comproveu les regles que restringeixen l'accés d'escriptura.
De vegades no és un problema de permisos, sinó que el fitxer de configuració el que el bloqueja. Obriu el fitxer .htaccess i suprimiu totes les regles que restringeixen l'accés d'escriptura a fitxers o impedeixen la creació de fitxers PHP. Per a Nginx, comproveu la configuració del vostre lloc web per a restriccions com ara la ruta arrel de només lectura o create_file off i elimineu-les.
Un altre escenari és que l'amfitrió virtual o l'allotjament al núvol lleuger restringeix la generació de fitxers PHP al directori arrel. En aquest cas, heu de contactar amb el vostre proveïdor d'allotjament per eliminar la restricció o canviar el mode de protecció de Wordfence. Aneu al menú Wordfence, Totes les opcions, WAF i canvieu el mode del motor de protecció a Protecció estesa per evitar la creació de fitxers arrel.
Solució 5: Conflictes de complements que causen bloqueig
Alguns complements de memòria cau o seguretat poden bloquejar aquesta operació. Desactiveu temporalment els complements de memòria cau com ara WP Rocket, W3 Total Cache i LiteSpeed Cache, així com els complements de seguretat com ara Sucuri i iThemes Security. A continuació, esborreu la memòria cau i l'opcache del servidor i reinicieu el servei PHP.
systemctl restart php8.3-fpmSeqüència ràpida de resolució de problemes (es recomana seguir els passos en ordre)
Et suggereixo que segueixis aquest ordre per evitar perdre el temps. Primer, unifica els permisos i la propietat; això té la probabilitat més alta de resoldre el problema. Si això no funciona, reinicia PHP-FPM i actualitza el backend. Si això continua sense funcionar, crea manualment un fitxer nou i modifica wp-config. A continuació, comprova si la configuració de Nginx o Apache bloqueja la creació de nous fitxers PHP al directori arrel. Finalment, considera canviar els modes de tallafocs.
Una cosa que us he de recordar és que mai no heu de definir permisos a 777. Els permisos de carpeta haurien de ser 755 i els permisos de fitxer 644; aquest és l'estàndard. Definir els permisos a 777 exposarà directament el vostre lloc web, cosa que representarà un risc de seguretat extremadament alt. Si us pirategen, serà massa tard per penedir-vos-en.
Si he de ser sincer, no estic segur que aquestes solucions funcionin per a la teva situació, però he compartit els entrebancs que he trobat i els mètodes que he descobert. Si reps altres missatges d'error, fes una captura de pantalla i envia-me-la, i ho tornaré a mirar.
Ja que has llegit fins aquí, si t'ha semblat útil, fes-hi un "m'agrada" i comparteix-ho. Si vols rebre actualitzacions primer, també em pots seguir!
Gràcies per llegir el meu article. Fins la propera.
Bloc d'Hope Chen Weiliang ( https://www.chenweiliang.com/ El tutorial "Solució completa per a la incapacitat de Wordfence de WordPress per crear wordfence-waf.php" compartit aquí us pot ser útil.
Benvingut a compartir l'enllaç d'aquest article:https://www.chenweiliang.com/cwl-34337.html
