Artikkelihakemisto
Joku mainitsi, että asennettuaan Wordfencen verkkosivustolleen hän sai jatkuvasti virheilmoituksia, joiden mukaan wordfence-waf.php-tiedostoa ei voitu luoda juurihakemistoon. Pyysin häntä lähettämään minulle kuvakaappauksen; virheilmoitus oli vain yksi rivi, jossa sanottiin, että kyseessä oli tiedosto-oikeusongelma.
Mietin asiaa hetken ja tajusin, että olin törmännyt tähän aiemminkin. Yritin selvittää sitä ikuisuuden, melkein luullen palveluntarjoajan puuhailevan jotain. Kyseessä oli kuitenkin käyttöoikeus- ja omistajuusongelma, mutta hallintapaneelin logiikka voi olla todella hämmentävä.

Selvennetäänpä ensin, mitä tämä wordfence-waf.php on.
Se on itse asiassa Wordfence-palomuurin suojaustiedosto, joka on kirjoitettava verkkosivuston juurihakemistoon samalle tasolle kuin wp-config.php.
Ilman tätä tiedostoa palomuuri ei voi käynnistyä; se on kuin olisit asentanut lukon, mutta avainta ei voida asettaa sisään.
Vaihtoehto 1: Käyttöoikeuksien muuttaminen yhdellä napsautuksella ohjauspaneelin kautta (BT-paneeli/)HestiaCP/cPanel)
Jos käytät BT Panelia, se on itse asiassa yksinkertaisin tapa. Mene verkkosivustollesi, etsi vastaava sivusto, napsauta Asetukset ja sitten siirry kohtaan Hakemiston käyttöoikeudet. Vaihda verkkosivuston juurihakemiston käyttöoikeudet arvoon 755 ja kaikkien tiedostojen käyttöoikeudet arvoon 644. Tarkista sitten, onko käynnissä olevan käyttäjän käyttäjätunnus "www"; jos ei, vaihda se. Napsauta "Korjaa käyttöoikeudet" -painiketta, odota, että se valmistuu, päivitä Wordfence ja yritä uudelleen.
HestiaCP:n osalta siirry verkkosivuston muokkaussivulle ja ota käyttöön asetus "Salli kirjoitusoikeudet web-pääkäyttäjälle". Suorita sitten muutama SSH-komento yhdistääksesi verkkosivustohakemiston omistajan ja käyttöoikeudet.
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 on intuitiivisempi. Avaa tiedostonhallinta, ota käyttöön "Näytä piilotetut tiedostot" oikeassa yläkulmassa, napsauta hiiren kakkospainikkeella hakemistoa ja muuta käyttöoikeudet arvoon 755, muuta tiedostojen käyttöoikeudet arvoon 644. Lisäasetuksissa on myös toiminto tiedoston omistajan korjaamiseen.
Vaihtoehto 2: Muuta käyttöoikeuksia manuaalisesti SSH:n kautta (yleinen)Linux)
Jos ohjauspaneeli ei pysty käsittelemään sitä, kokeile SSH:ta manuaalisesti. Kun olet muodostanut yhteyden palvelimeen, yhdistä ensin omistajuus. LNMP/LEMP-ympäristössä web runtime -ryhmä on tyypillisesti www-data tai www.
chown -R 你的面板用户:www-data /网站根目录完全路径Aseta sitten kansion oikeudet arvoon 755 ja tiedoston oikeudet arvoon 644.
find /网站根目录 -type d -print0 | xargs -0 chmod 755
find /网站根目录 -type f -print0 | xargs -0 chmod 644Kun prosessi on valmis, palaa WP-taustajärjestelmään ja ota palomuuri uudelleen käyttöön; sen pitäisi todennäköisesti ratkaista ongelma.
Vaihtoehto 3: Luo wordfence-waf.php manuaalisesti (täydellinen ratkaisu, kun käyttöoikeudet on lukittu)
Jos et voi muuttaa SSH-asetuksia ohjauspaneelissa, tee se manuaalisesti. Luo tiedosto nimeltä wordfence-waf.php juurihakemistoon ja liitä seuraava koodi siihen.
<?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';Muista korvata versio 7.11.0 nykyisellä Wordfence-versiollasi. Aseta tiedoston käyttöoikeudet arvoon 644, jolloin omistajan tulee vastata verkkosivustoa. Muokkaa sitten wp-config.php-tiedostoa ja lisää seuraava rivi tiedoston alkuun.
require_once 'wordfence-waf.php';Tallenna ja päivitä Wordfence. Palomuuri tunnistaa sen automaattisesti eikä enää ilmoita virheistä.
Vaihtoehto 4: Tarkista kirjoitusoikeuksia rajoittavat säännöt.
Joskus kyseessä ei ole käyttöoikeusongelma, vaan pikemminkin asetustiedosto, joka estää sen. Avaa .htaccess-tiedostosi ja poista kaikki säännöt, jotka rajoittavat tiedostojen kirjoitusoikeuksia tai estävät PHP-tiedostojen luomisen. Nginxissä tarkista sivustosi määritykset rajoitusten, kuten juuripolun "vain luku" tai "create_file off", varalta ja poista ne.
Toinen skenaario on, että virtuaalipalvelin tai kevyt pilvipalvelin itse rajoittaa PHP-tiedostojen luomista juurihakemistoon. Tässä tapauksessa sinun on otettava yhteyttä palveluntarjoajaasi rajoituksen poistamiseksi tai vaihdettava Wordfencen suojaustila. Siirry Wordfencen valikkoon, valitse Kaikki asetukset, WAF ja vaihda suojausmoottorin tilaksi Laajennettu suojaus ohittaaksesi juuritiedostojen luonnin.
Ratkaisu 5: Liitännäisristiriidat aiheuttavat eston
Jotkin välimuisti- tai tietoturvalisäosat saattavat estää tämän toiminnon. Poista väliaikaisesti käytöstä välimuistilisäosat, kuten WP Rocket, W3 Total Cache ja LiteSpeed Cache, sekä tietoturvalisäosat, kuten Sucuri ja iThemes Security. Tyhjennä sitten palvelimen välimuisti ja opcache ja käynnistä PHP-palvelu uudelleen.
systemctl restart php8.3-fpmNopea vianmääritysjärjestys (on suositeltavaa noudattaa vaiheita järjestyksessä)
Suosittelen noudattamaan tätä järjestystä välttääksesi turhaa säätämistä. Yhtenäistä ensin käyttöoikeudet ja omistajuus; tällä on suurin todennäköisyys ratkaista ongelma. Jos se ei auta, käynnistä PHP-FPM uudelleen ja päivitä taustajärjestelmä. Jos sekään ei auta, luo manuaalisesti uusi tiedosto ja muokkaa wp-config-tiedostoa. Tarkista sitten, estääkö Nginx- tai Apache-määrityksesi uusien PHP-tiedostojen luomisen juurihakemistoon. Lopuksi harkitse palomuuritilan vaihtamista.
Yksi asia, josta minun on muistutettava sinua, on se, että sinun ei tulisi koskaan asettaa käyttöoikeuksia arvoon 777. Kansioiden käyttöoikeuksien tulisi olla 755 ja tiedostojen oikeuksien 644; se on standardi. Oikeuksien asettaminen arvoon 777 altistaa verkkosivustosi suoraan ja aiheuttaa erittäin suuren tietoturvariskin. Jos joudut hakkeroinnin kohteeksi, on liian myöhäistä katua sitä.
Rehellisesti sanottuna en ole varma, toimivatko nämä ratkaisut tilanteessasi, mutta olen jakanut kohtaamani sudenkuopat ja menetelmät, jotka selvitin. Jos saat muita virheilmoituksia, ota kuvakaappaus ja lähetä se minulle, niin tarkistan asian uudelleen.
Koska olet lukenut tähän asti, jos pidit siitä hyödyllisenä, tykkää ja jaa se. Jos haluat saada päivityksiä ensimmäisenä, voit myös seurata minua!
Kiitos, että luit artikkelini. Nähdään taas ensi kerralla.
Hope Chen Weiliang -blogi ( https://www.chenweiliang.com/ Tässä jaettu tutoriaali "Täydellinen ratkaisu WordPress Wordfencen kyvyttömyyteen luoda wordfence-waf.php" voi olla sinulle hyödyllinen.
Tervetuloa jakamaan tämän artikkelin linkki:https://www.chenweiliang.com/cwl-34337.html
