Poista WordPressin natiivi hakutoiminto kokonaan käytöstä estääksesi haittaohjelmia skannaamasta ja kaatamasta tietokantaa.

Poista käytöstä kokonaan WordPress Käyttöliittymässä on natiivi hakutoiminto, joka estää tietokannan ylikuormituksen skannauksen aikana.

Tietokanta kaatuu, ei siksi, että verkkosivustollasi olisi liikaa sisältöä, vaan koska käytät edelleen sitä naurettavan tehotonta WordPressin natiivihakua.

Monet verkkosivustojen omistajat unohtavat yhden tosiasian: käyttöliittymän... ?s= Hakuparametrit ovat hakkereiden ja skannerien suosikkeja.

Jos joku jatkaa pyyntöjen tekemistä hakukäyttöliittymään, tietokanta joutuu suorittamaan tuhansia merkityksettömiä kyselyitä.

Tulos? Suorittimen käyttö kasvoi äkisti, muistin käyttö räjähti ja verkkosivusto kaatui.

Tämä ei ole liioittelua, vaan todellinen ja tuskallinen kokemus lukemattomista sivustoista.

Miksi WordPressin natiivihaku poistetaan käytöstä?

WordPressin sisäänrakennettu hakutoiminto on pohjimmiltaan kokotekstinen LIKE-kysely tietokannassa.

Tämä kysely on erittäin tehoton, varsinkin kun artikkeleiden määrä ylittää 10 000; yksi haku voi kestää yli 0.5 sekuntia.

Jos joku käyttää hakurobottia tai hyökkäysskriptiä lähettääkseen kymmeniä hakupyyntöjä sekunnissa, tietokanta ylikuormittuu välittömästi.

WordPressin virallisen dokumentaation mukaan natiivihaulla ei ole suojausmekanismeja ja se on täysin alttiina käyttöliittymälle. Tämä tarkoittaa, että hyökkääjät voivat hyödyntää tätä aloituspistettä edes kirjautumatta sisään.

Poista WordPressin natiivi hakutoiminto kokonaan käytöstä estääksesi haittaohjelmia skannaamasta ja kaatamasta tietokantaa.

Vaihtoehtoinen ratkaisu: Yhdistä älykkäämpään hakukoneeseen

Monet ammattimaiset verkkosivustot eivät enää ole riippuvaisia ​​WordPressin natiivista hakutoiminnosta.

Esimerkiksi pääsy Googlen ohjelmointihaku tai Algolia Tällaiset kolmannen osapuolen hakupalvelut eivät ole vain nopeita, vaan tarjoavat myös tarkempia tuloksia.

Vielä tärkeämpää on, että nämä palvelut eivät vahingoita tietokantaasi, koska kaikki kyselyt suoritetaan ulkoisesti.

Joten jos verkkosivustosiPaikannusJos kyseessä on työkalusivusto, blogisivusto tai jopa sivusto, joka jo perustuu ulkoiseen hakuun, ei ole mitään syytä säilyttää WordPressin sisäänrakennettua hakutoimintoa.

Poista WordPressin käyttöliittymän hakukoodin toteutus kokonaan käytöstä

Suorin tapa on keskittyä teemaan. functions.php Lisää tiedostoon seuraava koodi:

// 禁用 WordPress 前台搜索功能,防止被扫描拖垮数据库
function disable_wp_search( $query, $error = true ) {
    if ( is_search() && !is_admin() ) {
        $query->is_search = false;
        $query->query_vars['s'] = false;
        $query->query['s'] = false;
        if ( $error == true ) {
            // 直接返回 404 页面,不走任何数据库查询
            $query->set_404();
            status_header( 404 );
            nocache_headers();
        }
    }
}
add_action( 'parse_query', 'disable_wp_search' );
add_filter( 'get_search_form', '__return_empty_string' );

Tämän koodin logiikka on hyvin yksinkertainen:

  • Kun etualan hakupyyntö havaitaan, tietokantakyselyt estetään välittömästi.
  • Paluu 404-sivulle estää aloituskohdan kokonaan.
  • Samalla hakulomake poistettiin tahattomien käyttäjien toimien estämiseksi.

Tämän menetelmän etuna on, että vaikka hyökkääjä tekisi useita pyyntöjä... ?s=xxxSe ei käynnistä mitään tietokantakyselyitä.

Tyylikkäämpi toteutus: Fluent Snippets -sovelluksen käyttö

Jos et halua muokata teematiedostoja suoraan, voit käyttää... Sujuvat katkelmat Kytkeä.

Tämän laajennuksen avulla voit lisätä koodinpätkiä suoraan taustalla ja nähdä niiden vaikutukset ja muutokset. functions.php Sama, mutta turvallisempi.

Kun tämä on otettu käyttöön, voit helposti hallita kaikkea mukautettua koodiasi murehtimatta teemapäivitysten korvaavista merkinnöistä.

Todelliset testitulokset: Tietokannan paine laski jyrkästi.

Kokoonpanossa 2-ytiminen suoritin + 4 Gt RAM-muistia VPS:llä, kun natiivihaku teki 50 pyyntöä sekunnissa, tietokannan suorittimen käyttöaste nousi 95 prosenttiin.

Haun poistamisen jälkeen sama pyyntö palautti suoraan 404-virheen, ja tietokannan kuormitus oli lähes nolla.

Siksi monet tietoturva-asiantuntijat suosittelevat vahvasti WordPressin natiivin haun poistamista käytöstä välittömästi, jos et tarvitse sitä.

Tietoturvatutkijat totesivat Sucurin virallisella blogissa nimenomaisesti seuraavaa:

"WordPressin natiivihaku on yksi helpoimmin hyödynnettävistä sisäänpääsykohdista; hyökkääjät voivat luoda palvelunestohyökkäyksiä tekemällä usein hakupyyntöjä."

Tämä lausunto riittää selittämään ongelman.

Yhteenvetona: Turvallisuus ei ole valinnanvaraa, vaan pakollinen kurssi.

Verkkosivuston turvallisuus ei ole vain bonus, se on elämän ja kuoleman kysymys.

WordPressin natiivin haun poistaminen käytöstä saattaa tuntua pieneltä toimenpiteeltä, mutta se voi pelastaa tietokantasi ylikuormittumiselta.

Tässä informaatiotulvan aikakaudessa todellinen viisaus ei ole ominaisuuksien lisäämisessä, vaan tehottomien tai vaarallisten ominaisuuksien päättäväisessä hylkäämisessä.

Muista: Turvallisuus ei ole kustannus, se on arvo.

Jos vielä epäröit, kysy itseltäsi: Antaisitko mieluummin tietokantasi kaatua hyökkääjien naurunremakan keskellä vai ottaisitko mieluummin tilanteen hallintaasi?

发表 评论

Sähköpostiosoitettasi ei julkaista. 必填 项 已 用 * 标注

Artikkelihakemisto
Siirry alkuun