Deaktiver den innebygde søkefunksjonen i WordPress fullstendig for å forhindre at skadelige programmer skanner og krasjer databasen.

Deaktiver fullstendig WordPress Frontend-en har en innebygd søkefunksjon for å forhindre at databasen blir overbelastet av skanning.

Databasen krasjer ikke fordi nettstedet ditt har for mye innhold, men fordi du fortsatt bruker det latterlig ineffektive, native WordPress-søket.

Mange nettstedseiere overser ett faktum: front-end... ?s= Søkeparametere er en favoritt blant hackere og skannere.

Hvis noen fortsetter å sende forespørsler til søkegrensesnittet, vil databasen din bli tvunget til å utføre tusenvis av meningsløse spørringer.

Resultatet? CPU-bruken økte kraftig, minnebruken eksploderte, og nettstedet krasjet.

Dette er ikke en overdrivelse, men en reell og smertefull opplevelse av utallige nettsteder.

Hvorfor deaktivere WordPress native søk?

WordPress sin innebygde søkefunksjon er i hovedsak en fulltekst-LIKE-spørring i databasen.

Denne spørringen er ekstremt ineffektiv, spesielt når antallet artikler overstiger 10 000; et enkelt søk kan ta mer enn 0.5 sekunder.

Hvis noen bruker en webcrawler eller et angrepsskript til å sende dusinvis av søkeforespørsler per sekund, vil databasen din bli overbelastet umiddelbart.

I følge den offisielle WordPress-dokumentasjonen har native search ingen beskyttelsesmekanismer og er fullstendig eksponert for frontend. Dette betyr at angripere kan utnytte dette inngangspunktet uten å logge inn.

Deaktiver den innebygde søkefunksjonen i WordPress fullstendig for å forhindre at skadelige programmer skanner og krasjer databasen.

Alternativ løsning: Koble til en smartere søkemotor

Mange profesjonelle nettsteder er ikke lenger avhengige av WordPress sitt innebygde søk.

For eksempel tilgang Google-programmeringssøk eller Algolia Slike tredjeparts søketjenester er ikke bare raske, men gir også mer nøyaktige resultater.

Enda viktigere er det at disse tjenestene ikke vil lamme databasen din fordi alle spørringer utføres eksternt.

Så, hvis nettstedet dittPosisjoneringHvis det er et verktøynettsted, en bloggnettsted eller til og med et nettsted som allerede er avhengig av eksternt søk, er det ingen grunn til å fortsette å beholde den innebygde søkefunksjonen i WordPress.

Deaktiver implementering av WordPress front-end-søkekode fullstendig

Den mest direkte måten er å fokusere på temaet. functions.php Legg til følgende kode i filen:

// 禁用 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' );

Logikken i denne koden er veldig enkel:

  • Når en forgrunnssøkeforespørsel oppdages, blokkeres databasespørringer umiddelbart.
  • Å gå tilbake til en 404-side blokkerer fullstendig inngangspunktet.
  • Samtidig ble søkeskjemaet fjernet for å forhindre utilsiktede brukerhandlinger.

Fordelen med denne metoden er at selv om en angriper kommer med en rekke forespørsler ... ?s=xxxDet vil ikke utløse noen databasespørringer.

En mer elegant implementering: bruk av Fluent Snippets

Hvis du ikke vil endre temafilene direkte, kan du bruke... Flytende utdrag plugg inn.

Denne plugin-modulen lar deg legge til kodestykker direkte i bakgrunnen, og se effektene og modifikasjonene. functions.php Samme, men tryggere.

Når den er aktivert, kan du enkelt administrere all den tilpassede koden din uten å bekymre deg for at temaoppdateringer overskriver den.

Faktiske testresultater: Databasetrykket falt kraftig.

I en konfigurasjon av 2-kjerners CPU + 4 GB RAM På VPS-en, da det native søket foretok 50 forespørsler per sekund, økte databasens CPU-utnyttelse til 95 %.

Etter at søket ble deaktivert, returnerte den samme forespørselen en 404-feil direkte, og databasebelastningen var nesten null.

Derfor anbefaler mange sikkerhetseksperter på det sterkeste å slå av WordPress sitt innebygde søk umiddelbart hvis du ikke trenger det.

Sikkerhetsforskere uttalte eksplisitt i Sucuris offisielle blogg:

«WordPress native søk er et av de enkleste inngangspunktene å utnytte. Angripere kan lage tjenestenektangrep ved å gjøre hyppige søkeforespørsler.»

Denne uttalelsen er tilstrekkelig til å forklare problemet.

Avslutningsvis: Sikkerhet er ikke et valg, men et obligatorisk kurs.

Nettsikkerhet er ikke bare en bonus, det er et spørsmål om liv og død.

Å deaktivere WordPress sitt innebygde søk kan virke som en liten handling, men det kan redde databasen din fra å bli overbelastet.

I denne tidsalderen med informasjonsoverbelastning ligger ikke sann visdom i å legge til funksjoner, men i å avgjørende forkaste de som er ineffektive eller farlige.

Husk: Sikkerhet er ikke en kostnad, det er en verdi.

Hvis du fortsatt nøler, spør deg selv dette: Vil du heller la databasen din krasje midt i angripernes latter, eller vil du heller ta kontroll over situasjonen?

发表 评论

E-postadressen din vil ikke bli publisert. 必填 项 已 用 * Merkelapp

Artikkelkatalog
Rull til toppen