Artikulu direktorioa
Erabat desgaitu WordPress Aurrealdeak bilaketa funtzio natiboa dauka eskaneatzeak datu-basea gainezka ez dezan.
Datu-basea ez da zure webguneak eduki gehiegi duelako erortzen ari, baizik eta WordPress-eko bilaketa natibo barregarri eta eraginkortasunik gabeko hori erabiltzen ari zarelako oraindik.
Webgune askok datu bat ahaztu egiten dute: aurrealdea... ?s= Bilaketa-parametroak hackerren eta eskanerraren gogokoenak dira.
Norbaitek bilaketa-interfazeari eskaerak egiten jarraitzen badio, zure datu-basea milaka kontsulta zentzugabe exekutatzera behartuta egongo da.
Emaitza? CPUaren erabilera izugarri handitu zen, memoriaren erabilera izugarri handitu zen eta webgunea erori zen.
Hau ez da gehiegikeria bat, baizik eta gune ugariren esperientzia erreala eta mingarria.
Zergatik desgaitu WordPress-eko bilaketa natiboa?
WordPress-en bilaketa funtzio integratua funtsean datu-basean testu osoko LIKE kontsulta bat da.
Kontsulta hau oso eraginkorra ez da, batez ere artikulu kopurua 1tik gorakoa denean; bilaketa bakar batek 0.5 segundo baino gehiago iraun dezake.
Norbaitek web arakatzaile edo eraso-script bat erabiltzen badu segundoko dozenaka bilaketa-eskaera bidaltzeko, zure datu-basea berehala gainezka egingo da.
WordPress-en dokumentazio ofizialaren arabera, bilaketa natiboak ez du babes-mekanismorik eta frontend-ean guztiz agerian dago. Horrek esan nahi du erasotzaileek sarrera-puntu hau ustia dezaketela saioa hasi gabe ere.

Beste irtenbide bat: Bilaketa-motor adimentsuago batera konektatu
Webgune profesional askok ez dute jada WordPress-en bilaketa natiboaren menpe.
Adibidez, sarbidea Google Programazio Bilaketa edo Algolia Hirugarrenen bilaketa-zerbitzu horiek ez dira azkarrak bakarrik, emaitza zehatzagoak ere ematen dituzte.
Garrantzitsuagoa dena, zerbitzu hauek ez dute zure datu-basea kaltetuko, kontsulta guztiak kanpotik egiten baitira.
Beraz, zure webgunea badaPosizionamenduaTresna-gune bat, blog-gune bat edo kanpoko bilaketan oinarritzen den gune bat bada ere, ez dago arrazoirik WordPress-en bilaketa-funtzio integratua mantentzen jarraitzeko.
Desgaitu erabat WordPress-en frontend bilaketa-kodearen inplementazioa
Modurik zuzenena gaian zentratzea da. functions.php Gehitu kode hau fitxategira:
// 禁用 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' );
Kode honen logika oso sinplea da:
- Lehen planoan bilaketa-eskaera bat detektatzen denean, datu-baseko kontsultak berehala blokeatzen dira.
- 404 orrialde batera itzultzeak sarrera puntua erabat blokeatzen du.
- Aldi berean, bilaketa-formularioa kendu zen erabiltzaileen ustekabeko ekintzak saihesteko.
Metodo honen abantaila da erasotzaile batek eskaera ugari egin arren... ?s=xxxEz du datu-baseko kontsultarik eragingo.
Inplementazio dotoreago bat: Fluent Snippets erabiltzea
Gaiaren fitxategiak zuzenean aldatu nahi ez badituzu, erabil dezakezu... Pasarte jariakorrak Plug-in.
Plugin honek kode zatiak zuzenean atzeko planoan gehitzeko eta efektuak eta aldaketak ikusteko aukera ematen dizu. functions.php Berdin, baina seguruago.
Behin gaituta, zure kode pertsonalizatu guztia erraz kudea dezakezu, gaiaren eguneraketek gainidatziko ote duten kezkatu gabe.
Benetako proben emaitzak: Datu-basearen presioa nabarmen jaitsi da.
Konfigurazio batean. 2 nukleoko CPUa + 4 GB RAM VPSan, bilaketa natiboak segundoko 50 eskaera egiten zituenean, datu-basearen CPU erabilera % 95era igo zen.
Bilaketa desgaitu ondoren, eskaera berak 404 errorea itzuli zuen zuzenean, eta datu-basearen karga ia zero zen.
Horregatik, segurtasun-aditu askok gomendatzen dute WordPress-en bilaketa natiboa berehala desaktibatzea, behar ez baduzu.
Segurtasun-ikertzaileek esplizituki adierazi zuten Sucuriren blog ofizialean:
"WordPress-en bilaketa natiboa ustiatzeko sarrera-puntu errazenetako bat da; erasotzaileek zerbitzu-ukapen erasoak sor ditzakete bilaketa-eskaera maiz eginez."
Adierazpen hau nahikoa da arazoa azaltzeko.
Ondorioz: Segurtasuna ez da aukera bat, derrigorrezko ikastaroa baizik.
Webgunearen segurtasuna ez da abantaila bat bakarrik, bizitzaren eta heriotzaren kontua baizik.
WordPress-en bilaketa natiboa desgaitzea ekintza txiki bat dirudien arren, zure datu-basea gainkargatuta geratzea saihestu dezake.
Informazio gehiegizko aro honetan, benetako jakinduria ez datza ezaugarriak gehitzean, baizik eta eraginkortasunik gabekoak edo arriskutsuak baztertzean.
Gogoratu: segurtasuna ez da kostu bat, balio bat baizik.
Oraindik zalantzan bazaude, galdetu zeure buruari hau: nahiago duzu zure datu-basea erasotzaileen barre artean erortzea, edo egoeraren kontrola hartzea?
Hope Chen Weiliang bloga ( https://www.chenweiliang.com/ "WordPress-en bilaketa natiboaren funtzioa guztiz desgaitzea, programa gaiztoen eskaneatzeak datu-basea behera arrastatzea saihesteko" artikulua hemen partekatua lagungarria izan daiteke zuretzat.
Ongi etorri artikulu honen esteka partekatzera:https://www.chenweiliang.com/cwl-34192.html
