Imenik članaka
Netko je spomenuo da je nakon instaliranja Wordfencea na svoju web stranicu stalno dobivao greške koje su govorile da nije mogao stvoriti datoteku wordfence-waf.php u korijenskom direktoriju. Zamolio sam ga da mi pošalje snimku zaslona; poruka o pogrešci bila je samo jedna linija, u kojoj je pisalo da je problem s dopuštenjima datoteke.
Razmislio sam o tome na trenutak i shvatio da sam se s time već susreo. Proveo sam puno vremena pokušavajući shvatiti što se događa, gotovo misleći da pružatelj hostinga nešto smjera. Ispostavilo se da je problem s dozvolama i vlasništvom, ali logika upravljačke ploče hostinga može biti stvarno zbunjujuća.

Prvo da pojasnim što je ovo wordfence-waf.php.
To je zapravo zaštitna datoteka Wordfence vatrozida, koja mora biti zapisana u korijenskom direktoriju web stranice, na istoj razini kao i wp-config.php.
Bez ove datoteke, vatrozid se ne može pokrenuti; to je kao da ste instalirali bravu, ali ključ se ne može umetnuti.
Opcija 1: Izmjena dopuštenja jednim klikom putem upravljačke ploče (BT Panel/)HestiaCP/cPanel)
Ako koristite BT Panel, to je zapravo najjednostavnije. Idite na svoju web stranicu, pronađite odgovarajuću stranicu, kliknite Postavke, a zatim idite na Dozvole direktorija. Promijenite dozvolu korijenskog direktorija web stranice na 755 i dozvolu za sve datoteke na 644. Zatim provjerite je li pokrenuti korisnik "www"; ako nije, promijenite ga. Kliknite gumb "Popravi dozvole", pričekajte da se završi, osvježite Wordfence i pokušajte ponovno.
Za HestiaCP, idite na stranicu za uređivanje web-mjesta i omogućite opciju pod nazivom "Dopusti pristup pisanju u web root". Zatim pokrenite nekoliko SSH naredbi kako biste objedinili vlasnika i dozvole direktorija web-mjesta.
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 je intuitivniji. Otvorite upravitelj datoteka, u gornjem desnom kutu uključite "Prikaži skrivene datoteke", kliknite desnom tipkom miša na direktorij i promijenite dozvole na 755, promijenite dozvole za datoteke na 644, a postoji i funkcija za ispravljanje vlasnika datoteke u naprednim opcijama.
Opcija 2: Ručna promjena dozvola putem SSH-a (općenito)Linux)
Ako upravljačka ploča ne može to podnijeti, pokušajte ručno putem SSH-a. Nakon što se povežete s poslužiteljem, prvo ujedinite vlasništvo. U LNMP/LEMP okruženju, web runtime grupa je obično www-data ili www.
chown -R 你的面板用户:www-data /网站根目录完全路径Zatim postavite dozvole za mapu na 755, a dozvole za datoteku na 644.
find /网站根目录 -type d -print0 | xargs -0 chmod 755
find /网站根目录 -type f -print0 | xargs -0 chmod 644Nakon što je proces dovršen, vratite se na WP backend i ponovno omogućite vatrozid; to bi najvjerojatnije trebalo riješiti problem.
Opcija 3: Ručno kreirajte wordfence-waf.php (odlično rješenje kada su dozvole zaključane)
Ako ne možete promijeniti SSH postavke na upravljačkoj ploči, učinite to ručno. Izradite datoteku pod nazivom wordfence-waf.php u korijenskom direktoriju i zalijepite sljedeći kod u nju.
<?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';Ne zaboravite zamijeniti verziju 7.11.0 s vašom trenutnom verzijom Wordfencea. Postavite dozvole datoteke na 644, a vlasnik bi trebao odgovarati web stranici. Zatim uredite wp-config.php i dodajte sljedeći redak na sam vrh datoteke.
require_once 'wordfence-waf.php';Spremite i osvježite Wordfence. Vatrozid će ga automatski prepoznati i više neće prijavljivati pogreške.
Opcija 4: Provjerite pravila koja ograničavaju pristup pisanju.
Ponekad problem nije u dopuštenjima, već u konfiguracijskoj datoteci koja ga blokira. Otvorite .htaccess datoteku i izbrišite sva pravila koja ograničavaju pristup pisanju datoteka ili sprječavaju stvaranje PHP datoteka. Za Nginx provjerite konfiguraciju web-mjesta za ograničenja poput "samo za čitanje korijenske putanje" ili "isključeno stvaranje_datoteke" i uklonite ih.
Drugi scenarij je da virtualni host ili lagani cloud hosting sam po sebi ograničava generiranje PHP datoteka u korijenskom direktoriju. U tom slučaju morate se obratiti svom davatelju hostinga kako biste uklonili ograničenje ili promijenili način zaštite Wordfencea. Idite na izbornik Wordfencea, Sve opcije, WAF i promijenite način zaštite na Proširena zaštita kako biste zaobišli stvaranje korijenskih datoteka.
Rješenje 5: Sukobi dodataka uzrokuju blokiranje
Neki dodaci za predmemoriranje ili sigurnost mogu blokirati ovu operaciju. Privremeno onemogućite dodatke za predmemoriranje poput WP Rocket, W3 Total Cache i LiteSpeed Cache, kao i sigurnosne dodatke poput Sucuri i iThemes Security. Zatim izbrišite predmemoriju poslužitelja i opcache te ponovno pokrenite PHP uslugu.
systemctl restart php8.3-fpmBrzi slijed rješavanja problema (preporučuje se slijediti korake navedenim redoslijedom)
Predlažem da slijedite ovaj redoslijed kako biste izbjegli petljanje. Prvo, ujedinite dozvole i vlasništvo; to ima najveću vjerojatnost rješavanja problema. Ako to ne uspije, ponovno pokrenite PHP-FPM i osvježite pozadinsku konfiguraciju. Ako to i dalje ne uspije, ručno stvorite novu datoteku i izmijenite wp-config. Zatim provjerite blokira li vaša konfiguracija Nginxa ili Apachea stvaranje novih PHP datoteka u korijenskom direktoriju. Na kraju, razmislite o promjeni načina rada vatrozida.
Jedna stvar na koju vas moram podsjetiti jest da nikada ne biste trebali postavljati dozvole na 777. Dozvole za mape trebaju biti 755, a dozvole za datoteke 644; to je standard. Postavljanje dozvola na 777 izravno će izložiti vašu web stranicu, što predstavlja izuzetno visok sigurnosni rizik. Ako vas hakiraju, bit će prekasno za žaljenje.
Iskreno, nisam siguran hoće li ova rješenja funkcionirati u vašoj situaciji, ali podijelio sam zamke na koje sam naišao i metode koje sam otkrio. Ako dobijete bilo kakve druge poruke o pogrešci, napravite snimku zaslona i pošaljite mi je, pa ću ponovno pogledati.
Budući da ste pročitali do sada, ako vam je bilo korisno, lajkajte i podijelite. Ako želite prvi primati novosti, možete me i pratiti!
Hvala vam što ste pročitali moj članak. Vidimo se sljedeći put.
Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ Vodič "Potpuno rješenje za WordPress Wordfenceovu nemogućnost stvaranja wordfence-waf.php" podijeljen ovdje mogao bi vam biti koristan.
Dobrodošli da podijelite vezu ovog članka:https://www.chenweiliang.com/cwl-34337.html
