Потпуно онемогућите функцију нативне претраге у WordPress-у како бисте спречили злонамерне програме да скенирају и руше базу података.

Потпуно онемогућите функцију претраживања на WordPress фронтенду како бисте спречили скенирање и пад базе података.

База података се руши не зато што ваш веб сајт има превише садржаја, већ зато што и даље користите ту смешно неефикасну изворну WordPress претрагу.

Многи власници веб страница превиђају једну чињеницу: предњи део... ?s= Параметри претраге су омиљени код хакера и скенера.

Ако неко стално упућује захтеве интерфејсу за претрагу, ваша база података ће бити приморана да извршава хиљаде бесмислених упита.

Резултат? Потрошња процесора је нагло порасла, потрошња меморије је експлодирала, а веб локација се срушила.

Ово није претеривање, већ стварно и болно искуство безбројних локалитета.

Зашто онемогућити изворну претрагу у WordPress-у?

Уграђена функција претраге у WordPress-у је у суштини LIKE упит целог текста у бази података.

Овај упит је изузетно неефикасан, посебно када број чланака прелази 1; једна претрага може трајати дуже од 0.5 секунди.

Ако неко користи веб претраживач или скрипту за напад да би слао десетине захтева за претрагу у секунди, ваша база података ће бити одмах преоптерећена.

Према званичној WordPress документацији, нативна претрага нема заштитне механизме и потпуно је изложена фронтенду. То значи да нападачи могу да искористе ову улазну тачку чак и без пријављивања.

Потпуно онемогућите функцију нативне претраге у WordPress-у како бисте спречили злонамерне програме да скенирају и руше базу података.

Алтернативно решење: Повежите се са паметнијим претраживачем

Многи професионални веб-сајтови више се не ослањају на WordPress-ову изворну претрагу.

На пример, интеграција са Google-овом претрагом кодирања или услугама претраживања трећих страна попут Algolia-е не само да пружа веће брзине већ и тачније резултате.

Још важније, ове услуге неће осакатити вашу базу података јер се сви упити извршавају споља.

Стога, ако је ваш веб сајт позициониран као сајт са алатима, блог сајт или се чак ослања на екстерну претрагу, нема разлога да наставите да задржавате уграђену функцију претраге Вордпреса.

Потпуно онемогућите имплементацију кода за претрагу на фронт-енду Вордпреса

Најдиректнији начин је фокусирање на тему. functions.php Додајте следећи код у датотеку:

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

Логика овог кода је веома једноставна:

  • Када се открије захтев за претрагу у првом плану, упити базе података се одмах блокирају.
  • Повратак на страницу 404 потпуно блокира улазну тачку.
  • Истовремено, образац за претрагу је уклоњен како би се спречиле случајне акције корисника.

Предност ове методе је у томе што чак и ако нападач поднесе бројне захтеве... ?s=xxxНеће покренути никакве упите у базу података.

Елегантнија имплементација: коришћење Fluent Snippets-а

Ако не желите директно да мењате датотеке теме, можете користити додатак Fluent Snippets.

Овај додатак вам омогућава да додате делове кода директно у позадини и да видите ефекте и модификације. functions.php Исто, али безбедније.

Када је омогућено, можете лако управљати свим својим прилагођеним кодом без бриге да ће га ажурирања теме пребрисати.

Стварни резултати: Притисак на базу података је нагло опао.

На VPS-у конфигурисаном са 2 CPU језгра и 4GB меморије , искоришћеност CPU-а базе података је скочила на 95% када је нативна претрага направила 50 захтева у секунди.

Након онемогућавања претраге, исти захтев је директно вратио грешку 404, а оптерећење базе података је било готово нула.

Због тога многи стручњаци за безбедност снажно препоручују да одмах искључите Вордпресову изворну претрагу ако вам није потребна.

Истраживачи безбедности су експлицитно навели у званичном блогу компаније Sucuri:

„Нативна претрага WordPress-а једна је од најлакших улазних тачака за искоришћавање; нападачи могу да креирају нападе ускраћивања услуге честим захтевима за претрагу.“

Ова изјава је довољна да објасни проблем.

Закључно: Безбедност није избор, већ обавезан курс.

Безбедност веб странице није само бонус, већ питање живота и смрти.

Онемогућавање Вордпресове изворне претраге може изгледати као мала акција, али може спасити вашу базу података од преоптерећења.

У овом добу преоптерећења информацијама, права мудрост не лежи у додавању функција, већ у одлучном одбацивању оних које су неефикасне или опасне.

Запамтите: Безбедност није трошак, већ вредност.

Ако и даље оклевате, запитајте се ово: Да ли бисте радије дозволили да вам се база података сруши усред смеха нападача или бисте радије преузели контролу над ситуацијом?

Надам се да ће вам чланак „Потпуно онемогућавање функције нативне претраге у WordPress-у како би се спречило скенирање злонамерних програма да повуче базу података“, објављен на блогу Чен Веилианг-а ( https://www.chenweiliang.com/ ), бити од помоћи.

Слободно поделите линк овог чланка: https://www.chenweiliang.com/cwl-34192.html

Да бисте открили још скривених трикова🔑, добродошли да се придружите нашем Телеграм каналу!

Поделите и лајкујте ако вам се свиђа! Ваша дељења и лајкови су наша стална мотивација!

 

评论

您的邮箱地址不会被公开。必填项已用*标注

Дођите на врх