Artikel Directory
Volledig uitschakelen hood.discount De front-end beschikt over een ingebouwde zoekfunctie om te voorkomen dat de database overbelast raakt door het scannen.
De database loopt vast, niet omdat je website te veel content bevat, maar omdat je nog steeds de belachelijk inefficiënte, ingebouwde zoekfunctie van WordPress gebruikt.
Veel website-eigenaren zien één belangrijk aspect over het hoofd: de front-end... ?s= Zoekparameters zijn favoriet bij hackers en scanners.
Als iemand voortdurend verzoeken indient via de zoekinterface, wordt uw database gedwongen duizenden zinloze zoekopdrachten uit te voeren.
Het resultaat? Het CPU-gebruik schoot omhoog, het geheugengebruik explodeerde en de website crashte.
Dit is geen overdrijving, maar een echte en pijnlijke ervaring op talloze locaties.
Waarom zou je de ingebouwde zoekfunctie van WordPress uitschakelen?
De ingebouwde zoekfunctie van WordPress is in feite een LIKE-zoekopdracht in de database die de volledige tekst doorzoekt.
Deze zoekopdracht is uiterst inefficiënt, vooral wanneer het aantal artikelen de 1 overschrijdt; een enkele zoekopdracht kan meer dan 0.5 seconde duren.
Als iemand een webcrawler of aanvalsscript gebruikt om tientallen zoekopdrachten per seconde te versturen, raakt uw database onmiddellijk overbelast.
Volgens de officiële WordPress-documentatie heeft de native zoekfunctie geen beveiligingsmechanismen en is deze volledig blootgesteld aan de front-end. Dit betekent dat aanvallers dit toegangspunt kunnen misbruiken zonder zelfs maar in te loggen.

Alternatieve oplossing: Maak verbinding met een slimmere zoekmachine
Veel professionele websites maken niet langer gebruik van de ingebouwde zoekfunctie van WordPress.
Bijvoorbeeld toegang Google Programmeren Zoeken of Algolia Dergelijke zoekdiensten van derden zijn niet alleen snel, maar leveren ook nauwkeurigere resultaten op.
Belangrijker nog, deze services zullen uw database niet lamleggen, omdat alle query's extern worden uitgevoerd.
Dus, als uw websitePositioneringAls het een website met tools, een blog of zelfs een website is die al gebruikmaakt van externe zoekfuncties, is er geen reden om de ingebouwde zoekfunctie van WordPress te behouden.
Schakel de implementatie van de zoekfunctie aan de WordPress-frontend volledig uit.
De meest directe manier is om je te concentreren op het thema. functions.php Voeg de volgende code toe aan het bestand:
// 禁用 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' );
De logica van deze code is heel eenvoudig:
- Zodra een zoekopdracht op de voorgrond wordt gedetecteerd, worden databasequery's onmiddellijk geblokkeerd.
- Als je terugkeert naar een 404-pagina, wordt de toegang volledig geblokkeerd.
- Tegelijkertijd werd het zoekformulier verwijderd om onbedoelde acties van gebruikers te voorkomen.
Het voordeel van deze methode is dat zelfs als een aanvaller talloze verzoeken indient... ?s=xxxDit zal geen databasequery's activeren.
Een elegantere implementatie: gebruikmaken van Fluent Snippets.
Als je de themabestanden niet direct wilt aanpassen, kun je gebruikmaken van... Vloeiende fragmenten inpluggen.
Met deze plugin kunt u direct op de achtergrond codefragmenten toevoegen en de effecten en wijzigingen ervan bekijken. functions.php Hetzelfde, maar veiliger.
Eenmaal ingeschakeld, kunt u al uw aangepaste code eenvoudig beheren zonder dat u zich zorgen hoeft te maken dat thema-updates deze overschrijven.
Werkelijke testresultaten: De belasting van de database is sterk afgenomen.
In een configuratie van 2-core CPU + 4 GB RAM Op de VPS schoot het CPU-gebruik van de database omhoog naar 95% toen de native zoekfunctie 50 verzoeken per seconde verwerkte.
Na het uitschakelen van de zoekfunctie gaf dezelfde aanvraag direct een 404-foutmelding en was de databasebelasting vrijwel nihil.
Daarom raden veel beveiligingsexperts ten zeerste aan om de ingebouwde zoekfunctie van WordPress direct uit te schakelen als je die niet nodig hebt.
Beveiligingsonderzoekers hebben dit expliciet verklaard in de officiële blog van Sucuri:
"De ingebouwde zoekfunctie van WordPress is een van de gemakkelijkste toegangspunten voor misbruik; aanvallers kunnen denial-of-service-aanvallen uitvoeren door frequent zoekopdrachten te versturen."
Deze verklaring volstaat om het probleem uit te leggen.
Kortom: veiligheid is geen keuze, maar een verplicht onderdeel.
Websitebeveiliging is niet zomaar een extraatje, het is een kwestie van leven of dood.
Het uitschakelen van de ingebouwde zoekfunctie van WordPress lijkt misschien een kleine handeling, maar het kan voorkomen dat uw database overbelast raakt.
In dit tijdperk van informatieoverload schuilt ware wijsheid niet in het toevoegen van functies, maar in het resoluut afschaffen van functies die inefficiënt of gevaarlijk zijn.
Onthoud: veiligheid is geen kostenpost, maar een waarde.
Als je nog steeds twijfelt, vraag jezelf dan eens af: zou je liever je database laten crashen terwijl aanvallers lachen, of zou je liever de situatie in eigen hand nemen?
Hoop Chen Weiliang Blog ( https://www.chenweiliang.com/ Het artikel "De native zoekfunctie in WordPress volledig uitschakelen om te voorkomen dat kwaadaardige programma's de database platleggen", dat hier gedeeld wordt, kan u wellicht van pas komen.
Welkom om de link van dit artikel te delen:https://www.chenweiliang.com/cwl-34192.html
