Artikel Directory
Deaktiver fuldstændigt hood.discount Frontend'en har en indbygget søgefunktion for at forhindre, at databasen bliver overbelastet af scanninger.
Databasen går ned, ikke fordi dit websted har for meget indhold, men fordi du stadig bruger den latterligt ineffektive native WordPress-søgning.
Mange hjemmesideejere overser én kendsgerning: front-end... ?s= Søgeparametre er en favorit blandt hackere og scannere.
Hvis nogen bliver ved med at foretage anmodninger til søgegrænsefladen, vil din database blive tvunget til at udføre tusindvis af meningsløse forespørgsler.
Resultatet? CPU-forbruget steg kraftigt, hukommelsesforbruget eksploderede, og hjemmesiden gik ned.
Dette er ikke en overdrivelse, men en reel og smertefuld oplevelse af utallige steder.
Hvorfor deaktivere native søgning i WordPress?
WordPress' indbyggede søgefunktion er i bund og grund en fuldtekst-LIKE-forespørgsel i databasen.
Denne forespørgsel er ekstremt ineffektiv, især når antallet af artikler overstiger 1; en enkelt søgning kan tage mere end 0.5 sekunder.
Hvis nogen bruger en webcrawler eller et angrebsscript til at sende snesevis af søgeanmodninger i sekundet, vil din database blive overbelastet med det samme.
Ifølge den officielle WordPress-dokumentation har native search ingen beskyttelsesmekanismer og er fuldstændig eksponeret for frontend. Det betyder, at angribere kan udnytte dette indgangspunkt uden overhovedet at logge ind.

Alternativ løsning: Opret forbindelse til en smartere søgemaskine
Mange professionelle hjemmesider er ikke længere afhængige af WordPress' native søgefunktion.
For eksempel adgang Google Programmeringssøgning eller Algolia Sådanne tredjeparts søgetjenester er ikke kun hurtige, men giver også mere præcise resultater.
Endnu vigtigere er det, at disse tjenester ikke vil lamme din database, fordi alle forespørgsler udføres eksternt.
Så hvis din hjemmesidePositioneringHvis det er en værktøjsside, en blogside eller endda en side, der allerede er afhængig af ekstern søgning, er der ingen grund til at fortsætte med at beholde den indbyggede søgefunktion i WordPress.
Deaktiver fuldstændig implementering af WordPress frontend-søgekode
Den mest direkte måde er at fokusere på temaet. functions.php Tilføj følgende kode til 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 kode er meget enkel:
- Når en søgeforespørgsel i forgrunden registreres, blokeres databaseforespørgsler øjeblikkeligt.
- At vende tilbage til en 404-side blokerer fuldstændigt indgangspunktet.
- Samtidig blev søgeformularen fjernet for at forhindre utilsigtede brugerhandlinger.
Fordelen ved denne metode er, at selvom en angriber fremsætter adskillige anmodninger... ?s=xxxDet vil ikke udløse nogen databaseforespørgsler.
En mere elegant implementering: brug af Fluent Snippets
Hvis du ikke vil ændre temafilerne direkte, kan du bruge... Flydende uddrag plugin.
Dette plugin giver dig mulighed for at tilføje kodestykker direkte i baggrunden og se effekterne og ændringerne. functions.php Det samme, men mere sikkert.
Når det er aktiveret, kan du nemt administrere al din brugerdefinerede kode uden at bekymre dig om, at temaopdateringer overskriver den.
Faktiske testresultater: Databasetrykket faldt kraftigt.
I en konfiguration af 2-kernet CPU + 4 GB RAM På VPS'en, da den native søgning foretog 50 anmodninger pr. sekund, steg databasens CPU-udnyttelse til 95 %.
Efter deaktivering af søgning returnerede den samme anmodning en 404-fejl direkte, og databasebelastningen var næsten nul.
Derfor anbefaler mange sikkerhedseksperter kraftigt at deaktivere WordPress' native søgning med det samme, hvis du ikke har brug for den.
Sikkerhedsforskere udtalte eksplicit i Sucuris officielle blog:
"WordPress native search er et af de nemmeste indgangspunkter at udnytte; angribere kan lave denial-of-service-angreb ved at foretage hyppige søgeanmodninger."
Denne udtalelse er tilstrækkelig til at forklare problemet.
Konklusion: Sikkerhed er ikke en mulighed, men et obligatorisk kursus.
Hjemmesidesikkerhed er ikke bare en bonus, det er et spørgsmål om liv og død.
Deaktivering af WordPress' native søgning kan virke som en lille handling, men det kan redde din database fra at blive overbelastet.
I denne tidsalder med informationsoverbelastning ligger sand visdom ikke i at tilføje funktioner, men i beslutsomt at kassere dem, der er ineffektive eller farlige.
Husk: Sikkerhed er ikke en omkostning, det er en værdi.
Hvis du stadig tøver, så spørg dig selv dette: Vil du hellere lade din database gå ned midt i angribernes latter, eller vil du hellere tage kontrol over situationen?
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ Artiklen "Fuldstændig deaktivering af den indbyggede søgefunktion i WordPress for at forhindre, at scanning af skadelige programmer trækker databasen ned", som deles her, kan være nyttig for dig.
Velkommen til at dele linket til denne artikel:https://www.chenweiliang.com/cwl-34192.html
