Article Directory
Neko je spomenuo da je nakon instaliranja Wordfence-a na svojoj web stranici stalno dobijao greške koje su govorile da nije moguće kreirati datoteku wordfence-waf.php u korijenskom direktoriju. Zamolio sam ga da mi pošalje snimak ekrana; poruka o grešci je bila samo jedna linija, u kojoj je pisalo da je problem s dozvolama za datoteku.
Razmislio sam o tome na trenutak i shvatio da sam se s ovim već susreo. Proveo sam puno vremena pokušavajući shvatiti šta, gotovo misleći da hosting provajder nešto smjera. Ispostavilo se da je problem s dozvolama i vlasništvom, ali logika kontrolne ploče hostinga može biti zaista zbunjujuća.

Prvo da pojasnim šta je ovo wordfence-waf.php.
To je zapravo zaštitna datoteka Wordfence firewall-a, koja mora biti zapisana u korijenskom direktoriju web stranice, na istoj razini kao i wp-config.php.
Bez ove datoteke, zaštitni zid se ne može pokrenuti; to je kao da ste instalirali bravu, ali ključ se ne može umetnuti.
Opcija 1: Modifikacija dozvola jednim klikom putem kontrolne 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 na Postavke, a zatim idite na Dozvole direktorija. Promijenite dozvolu za korijenski direktorij web stranice na 755 i dozvolu za sve datoteke na 644. Zatim provjerite je li aktivni korisnik "www"; ako nije, promijenite ga. Kliknite na dugme "Popravi dozvole", pričekajte da se završi, osvježite Wordfence i pokušajte ponovo.
Za HestiaCP, idite na stranicu za uređivanje web stranice i omogućite opciju pod nazivom "Dozvoli pristup pisanju za web root". Zatim pokrenite nekoliko SSH naredbi da biste objedinili vlasnika i dozvole direktorija web stranice.
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, uključite "Prikaži skrivene datoteke" u gornjem desnom uglu, kliknite desnim tasterom miša na direktorij i promijenite dozvole na 755, promijenite dozvole za datoteke na 644, a postoji i funkcija za fiksiranje vlasnika datoteke u naprednim opcijama.
Opcija 2: Ručna promjena dozvola putem SSH-a (općenito)Linux)
Ako kontrolna ploča ne može to podnijeti, pokušajte ručno putem SSH-a. Nakon povezivanja sa serverom, 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 završen, vratite se na WP backend i ponovo omogućite zaštitni zid; to bi najvjerovatnije 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 kontrolnoj ploči, učinite to ručno. Napravite datoteku pod nazivom wordfence-waf.php u korijenskom direktoriju i u nju ubacite sljedeći kod.
<?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 Wordfence-a. Postavite dozvole datoteke na 644, a vlasnik bi trebao odgovarati web stranici. Zatim uredite wp-config.php i dodajte sljedeći red na sam vrh datoteke.
require_once 'wordfence-waf.php';Sačuvajte i osvježite Wordfence. Zaštitni zid će ga automatski prepoznati i više neće prijavljivati greške.
Opcija 4: Provjerite pravila koja ograničavaju pristup pisanju.
Ponekad problem nije u dozvolama, već u konfiguracijskoj datoteci koja ga blokira. Otvorite .htaccess datoteku i izbrišite sva pravila koja ograničavaju pristup pisanju datoteka ili sprječavaju kreiranje PHP datoteka. Za Nginx, provjerite konfiguraciju web-mjesta za ograničenja poput "samo za čitanje korijenske putanje" ili "isključeno kreiranje_file" i uklonite ih.
Drugi scenario je da virtuelni host ili lagani cloud hosting sam po sebi ograničava generisanje PHP datoteka u korijenskom direktoriju. U tom slučaju, potrebno je da kontaktirate svog hosting provajdera da biste uklonili ograničenje ili promijenili način zaštite Wordfence-a. Idite na meni Wordfence-a, Sve opcije, WAF i promijenite način zaštite na Proširena zaštita da biste izbjegli kreiranje korijenskih datoteka.
Rješenje 5: Sukobi dodataka uzrokuju blokiranje
Neki dodaci za keširanje ili sigurnost mogu blokirati ovu operaciju. Privremeno onemogućite dodatke za keširanje poput WP Rocket, W3 Total Cache i LiteSpeed Cache, kao i sigurnosne dodatke poput Sucuri i iThemes Security. Zatim obrišite keš memoriju servera i opcache i ponovo pokrenite PHP uslugu.
systemctl restart php8.3-fpmBrzi redoslijed 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; ovo ima najveću vjerovatnoću rješavanja problema. Ako to ne uspije, ponovo pokrenite PHP-FPM i osvježite backend. Ako to i dalje ne uspije, ručno kreirajte novu datoteku i modificirajte wp-config. Zatim provjerite da li vaša Nginx ili Apache konfiguracija blokira kreiranje novih PHP datoteka u korijenskom direktoriju. Na kraju, razmislite o promjeni načina rada firewalla.
Jedna stvar koju vas moram podsjetiti je 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 će direktno izložiti vašu web stranicu, što predstavlja izuzetno visok sigurnosni rizik. Ako budete hakovani, bit će prekasno da se pokajete.
Iskreno, nisam siguran da li će ova rješenja funkcionirati u vašoj situaciji, ali sam podijelio zamke na koje sam naišao i metode koje sam otkrio. Ako dobijete bilo kakve druge poruke o grešci, napravite snimak ekrana i pošaljite mi ga, pa ću ponovo pogledati.
Pošto ste pročitali do sada, ako vam je bilo korisno, molimo vas da lajkujete 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.
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ Tutorijal "Potpuno rješenje za WordPress Wordfenceovu nemogućnost kreiranja wordfence-waf.php" koji je ovdje podijeljen mogao bi vam biti koristan.
Dobrodošli da podijelite link ovog članka:https://www.chenweiliang.com/cwl-34337.html
