Artikulo Direktoryo
Hingpit nga i-disable WordPress Ang front-end adunay lumad nga function sa pagpangita aron malikayan nga malumsan sa pag-scan ang database.
Nag-crash ang database dili tungod kay daghan kaayog content ang imong website, kondili tungod kay gigamit gihapon nimo ang dili episyente nga native WordPress search.
Daghang mga tag-iya sa website ang wala magtagad sa usa ka kamatuoran: ang front-end... ?s= Ang mga search parameter paborito sa mga hacker ug scanner.
Kon adunay magpadayon sa paghimo og mga hangyo sa search interface, ang imong database mapugos sa pagpatuman sa liboan ka walay pulos nga mga pangutana.
Ang resulta? Nisaka pag-ayo ang paggamit sa CPU, niubos ang paggamit sa memory, ug nag-crash ang website.
Dili kini pagpasobra, apan usa ka tinuod ug masakit nga kasinatian sa dili maihap nga mga site.
Ngano nga i-disable ang WordPress native search?
Ang built-in nga search function sa WordPress kay usa ka full-text nga LIKE query sa database.
Kini nga pangutana dili kaayo episyente, labi na kung ang gidaghanon sa mga artikulo molapas sa 1; ang usa ka pagpangita mahimong molungtad og sobra sa 0.5 segundos.
Kon adunay mogamit og web crawler o attack script aron magpadala og daghang search request kada segundo, ang imong database mapuno dayon.
Sumala sa opisyal nga dokumentasyon sa WordPress, ang native search walay mga mekanismo sa proteksyon ug hingpit nga makita sa front end. Kini nagpasabot nga ang mga tig-atake mahimong mopahimulos niini nga entry point nga dili na gani mag-log in.

Alternatibong solusyon: Pagkonektar sa mas maalamon nga search engine
Daghang mga propesyonal nga website ang wala na magsalig sa native search sa WordPress.
Pananglitan, pag-access Pagpangita sa Programa sa Google o Algolia Ang ingon nga mga serbisyo sa pagpangita sa ikatulo nga partido dili lamang paspas, apan naghatag usab og mas tukma nga mga resulta.
Mas importante, kini nga mga serbisyo dili makadaot sa imong database tungod kay ang tanan nga mga pangutana gihimo sa gawas.
Mao nga, kung ang imong websitePagbutang sa posisyonKon kini usa ka tool site, usa ka blog site, o bisan usa ka site nga nagsalig na sa external search, walay rason nga ipadayon ang paggamit sa built-in nga search function sa WordPress.
Hingpit nga i-disable ang implementasyon sa front-end search code sa WordPress
Ang labing direkta nga paagi mao ang pag-focus sa tema. functions.php Idugang ang mosunod nga code sa file:
// 禁用 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' );
Ang lohika niini nga code yano ra kaayo:
- Sa higayon nga makit-an ang usa ka hangyo sa pagpangita sa foreground, ang mga pangutana sa database gibabagan dayon.
- Ang pagbalik sa usa ka 404 nga panid hingpit nga makababag sa entry point.
- Sa samang higayon, ang search form gitangtang aron malikayan ang aksidente nga mga aksyon sa tiggamit.
Ang bentaha niini nga pamaagi mao nga bisan kung ang usa ka tig-atake mohimo og daghang mga hangyo... ?s=xxxDili kini mo-trigger og bisan unsang mga pangutana sa database.
Usa ka mas elegante nga implementasyon: paggamit sa Fluent Snippets
Kon dili nimo gusto nga direktang usbon ang mga file sa tema, mahimo nimong gamiton... Mga Larinong Snippet plugin.
Kini nga plugin nagtugot kanimo sa pagdugang og mga snippet sa code direkta sa background, ug aron makita ang mga epekto ug mga pagbag-o. functions.php Parehas ra, pero mas luwas.
Kung na-enable na, dali ra nimo madumala ang tanan nimong custom code nga dili mabalaka bahin sa mga update sa tema nga ma-overwrite kini.
Aktwal nga mga resulta: Miubos pag-ayo ang presyur sa database.
Sa usa ka konpigurasyon sa 2-core nga CPU + 4GB nga RAM Sa VPS, sa dihang ang native search nakahimo og 50 ka request kada segundo, ang paggamit sa CPU sa database misaka ngadto sa 95%.
Human sa pag-disable sa search, ang samang request direktang nibalik og 404 error, ug ang database load halos sero na.
Mao kini ang hinungdan nganong daghang mga eksperto sa seguridad ang kusganong nagrekomendar nga i-off dayon ang native search sa WordPress kung dili nimo kini kinahanglan.
Ang mga tigdukiduki sa seguridad klarong nag-ingon sa opisyal nga blog sa Sucuri:
"Ang WordPress native search usa sa pinakasayon nga entry point nga pahimuslan; ang mga tig-atake makahimo og denial-of-service attacks pinaagi sa paghimo og kanunay nga mga search request."
Kini nga pahayag igo na aron ipasabut ang problema.
Sa konklusyon: Ang kaluwasan dili usa ka pagpili, kondili usa ka mandatory nga kurso.
Ang seguridad sa website dili lang usa ka bonus, kini usa ka butang sa kinabuhi ug kamatayon.
Ang pag-disable sa native search sa WordPress daw gamay ra nga aksyon, apan kini makaluwas sa imong database gikan sa pagka-overload.
Niining panahon sa sobra nga impormasyon, ang tinuod nga kaalam wala mag-agad sa pagdugang og mga feature, kondili sa hingpit nga pagsalikway niadtong dili episyente o delikado.
Hinumdumi: Ang kaluwasan dili usa ka gasto, kini usa ka bili.
Kon nagduha-duha ka pa gihapon, pangutan-a ang imong kaugalingon niini: Mas gusto ba nimo nga ang imong database mahugno taliwala sa katawa sa mga tig-atake, o mas gusto nimo nga ikaw ang mokontrol sa sitwasyon?
Paglaum Chen Weiliang Blog ( https://www.chenweiliang.com/ Ang artikulong "Completely Disabled the Native Search Function in WordPress to Prevent Malicious Program Scanning from Dragging Down the Database," nga gipaambit dinhi, basin makatabang nimo.
Welcome sa pagpaambit sa link niini nga artikulo:https://www.chenweiliang.com/cwl-34192.html
